Mám 24/7 vždy zapnutý bezhlavý domácí server založený na Debian Jessie, který má velký 1TB SSD pro OS a všechny moje často používané soubory. Tento stejný systém má 4 větší pevné disky v poli SnapRAID. Ty slouží hlavně k archivaci disků Blu-ray, ke kterým se často přistupuje, a chtějí, aby tyto jednotky zůstaly vypnuté v pohotovostním režimu, pokud na ně skutečně nečtu nebo na ně nezapisuji. Všechny jsou naformátovány jako ext4 a připojeny s povoleným noatime a nodiratime.
Takže i když by žádný proces ani program neměl pravidelně přistupovat k těmto jednotkám přímým způsobem, pevné disky se neustále přetáčí z pohotovostního režimu. Zdá se, že to souvisí s grafickými programy, které poskytují prohlížeč souborů gui, dokonce i něco jako Chromium. Pokud se na tyto jednotky ani nepodívám, myslím si, že tyto procesy pouhým získáním seznamu dostupných jednotek roztáčí pevné disky. Podobně jako to dělá blkid. Problém je v tom, že je těžké určit hlavní příčinu, protože žádný z těchto procesů ve skutečnosti nečte ani nezapisuje souborový systém na těchto jednotkách, takže žádné soubory se ve skutečnosti nemění ani se jich nedotýká. Existuje nějaký druh mezipaměti, kterou mohu naplnit, nebo vyrovnávací paměť, která zabrání těmto programům v roztočení pevného disku jednoduše tím, že získám seznam dostupných disků? Upřímně mě to přivádí k šílenství, protože nemohu najít spolehlivý způsob, jak udržet tyto disky v chodu, i když neexistuje přímý přístup k souborovému systému.
AKTUALIZACE :Díky Stephenově odpovědi se mi podařilo vysledovat aktivitu disku na gvfs a udisky . Je skutečná škoda, že tyto procesy trvají na probuzení disků v pohotovostním režimu, když k nim ve skutečnosti není přistupováno, aby se souborovým systémem prováděly jakýkoli skutečný I/O. Zatím jsem je jen odinstaloval s vědomím, že to odstraní některé funkce z PCManFM a podobně.
Přijatá odpověď:
Můžete použít blktrace
(dostupné v Debianu) ke sledování veškeré aktivity na daném zařízení; například
sudo blktrace -d /dev/sda -o - | blkparse -i -
nebo jen
sudo btrace /dev/sda
zobrazí veškerou aktivitu na /dev/sda
. Výstup vypadá takto
8,0 3 51 135.424002054 16857 D WM 167775248 + 8 [kworker/u16:0]
8,0 3 52 135.424011323 16857 I WM 209718336 + 8 [kworker/u16:0]
8,0 3 0 135.424011659 0 m N cfq496A / insert_request
Pátý sloupec je identifikátor procesu a poslední udává název procesu, pokud nějaký existuje.
Můžete také uložit stopy pro pozdější analýzu; blktrace
obsahuje řadu analytických nástrojů, jako je výše zmíněný blkparse
a btt
. blktrace
je nástroj na velmi nízké úrovni, takže nemusí být tak snadné zjistit, co způsobilo aktivitu, ale s pomocí přiložené dokumentace (viz /usr/share/doc/blktrace
pokud jste nainstalovali balíček Debian) a blktrace
papíru, mělo by být možné zjistit, co způsobuje roztočení.