GNU/Linux >> Znalost Linux >  >> Linux

Jak poznám, co roztáčí můj disk?

V Linuxu nejnovější fanotify syscall aktivoval pěkný nástroj nazvaný fatrace který informuje o tom, který proces naráží na který soubor, buď pro celý systém nebo konkrétní oddíl. Rozhodně můj oblíbený nástroj pro tento druh věcí:

deluged(6542): R /usr/share/GeoIP/GeoIP.dat
rsyslogd(1737): W /var/log/syslog
rsyslogd(1737): W /var/log/kern.log

Můžete se podívat na http://samwel.tk/laptop_mode/ . Tato stránka sice není primárně o vašem problému, ale poskytuje dobrý celkový obrázek o tom, jak IO funguje, a nápady, jak ztišit vaše disky jejich vypnutím.

Krátká odpověď na váš problém:

echo 1 > /proc/sys/vm/block_dump

vytvoří zprávy v syslog jako:

Jul 23 10:04:05 locutus kernel: ls(5224): READ block 7340136 on dm-4
Jul 23 10:04:05 locutus kernel: ls(5224): READ block 4335136 on dm-4
Jul 23 10:04:05 locutus kernel: ls(5224): READ block 15505568 on dm-4
Jul 23 10:04:05 locutus kernel: ls(5224): READ block 7340160 on dm-4
Jul 23 10:04:05 locutus kernel: ls(5224): READ block 7340168 on dm-4

Použil jsem jednoduchý příkaz ls

POZNÁMKA:Než to uděláte, ujistěte se, že je protokolování vašeho systému vypnuto nebo zapsáno na ramdisk (typ:tmpfs), protože (citace):"váš systém se může dostat do smyčky zpětné vazby, kde syslogd způsobí aktivitu disku, což způsobí výstup jádra, a to způsobí, že syslogd bude dělat více diskové aktivity"

Doporučuji připojit /tmp jako ramdisk a poté nastavit protokolování do /tmp/syslog. Toto v /etc/fstab (a restartování) udělá:

none /tmp tmpfs defaults,size=256M 0 0

Používal jsem iotop, abych zjistil, co používá disk. Z webu musíte mít "Linuxové jádro ≥ 2.6.20 s povolenými možnostmi TASK_DELAY_ACCT a TASK_IO_ACCOUNTING".

Zdá se, že vás zajímá pouze jeden konkrétní disk. Můžete zvážit napsání skriptu, který rutinně kontroluje pomocí lsof nebo fixační jednotky přístup k dané jednotce/oddílu.


Linux
  1. Jak mohu v Linuxu zjistit, který proces poslal mému procesu signál

  2. Jak mohu získat to, co se mi vrátila hlavní funkce?

  3. Jak může být linuxové jádro tak malé?

  1. Jak mohu naklonovat celý svůj operační systém na zaváděcí USB klíčenku?

  2. Jak zjistím, jakou verzi Linuxu používám?

  3. Jak mohu zkontrolovat konfiguraci preempce jádra?

  1. Jak zjistím, na jaký uživatelský limit narážím?

  2. Jak zjistím, jaké soubory má proces otevřené?

  3. Linux - Jak zjistím, co čeká na IO disku