GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie kann ich feststellen, was mein Laufwerk hochdreht?

Unter Linux das neuere fanotify syscall aktivierte ein nettes Dienstprogramm namens fatrace die darüber informiert, welcher Prozess auf welche Datei trifft, entweder für das gesamte System oder eine bestimmte Partition. Definitiv mein Lieblingswerkzeug für solche Dinge:

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

Sie können sich http://samwel.tk/laptop_mode/ ansehen. Obwohl sich diese Seite nicht in erster Linie um Ihr Problem dreht, gibt sie doch einen guten Gesamtüberblick darüber, wie IO funktioniert und Ideen, wie Sie Ihre Festplatten stummschalten können, indem Sie sie abschalten.

Die kurze Antwort auf Ihr Problem:

echo 1 > /proc/sys/vm/block_dump

es werden Meldungen im Syslog erzeugt wie:

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

Ich habe einen einfachen ls-Befehl verwendet

HINWEIS:Stellen Sie sicher, dass Ihre Systemprotokollierung ausgeschaltet ist oder auf eine Ramdisk (Typ:tmpfs) geschrieben wird, bevor Sie dies tun, denn (Zitat):"Ihr System kann in eine Rückkopplungsschleife geraten, in der syslogd Festplattenaktivität verursacht, dies verursacht Kernel-Ausgabe, und dies führt dazu, dass syslogd mehr Festplattenaktivität durchführt"

Ich empfehle, /tmp als Ramdisk zu mounten und dann die Protokollierung in /tmp/syslog einzurichten. Dies in /etc/fstab (und ein Neustart) reicht aus:

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

Ich habe iotop verwendet, um herauszufinden, was das Laufwerk verwendet. Auf der Website müssen Sie „Linux-Kernel ≥ 2.6.20 mit aktivierten Optionen TASK_DELAY_ACCT und TASK_IO_ACCOUNTING“ haben.

Es hört sich so an, als ob Sie nur an einem bestimmten Laufwerk interessiert sind. Sie könnten erwägen, ein Skript zu schreiben, das routinemäßig mit lsof oder fuser den Zugriff auf dieses Laufwerk/diese Partition überprüft.


Linux
  1. Wie kann ich unter Linux feststellen, welcher Prozess meinem Prozess ein Signal gesendet hat?

  2. Wie kann ich bekommen, was meine Hauptfunktion zurückgegeben hat?

  3. Wie kann ich überprüfen, was Speicherplatz in /tmp beansprucht?

  4. Wie viel Load_cycle_count kann meine Festplatte hypothetisch aushalten?

  5. Wie kann die Nutzung des für den Kernel dedizierten Speichers überwacht werden?

So überprüfen Sie, welche Linux-Kernel-Version ich verwende

Wie kann ein Linux-Kernel so klein sein?

Wie kann ich mein gesamtes Betriebssystem auf einen bootfähigen USB-Stick klonen?

Wie viele Kerne kann der Linux-Kernel verarbeiten?

Wie kann ich die Taste meines CD/DVD-Laufwerks deaktivieren?

Wie kann ich feststellen, auf welches Benutzerlimit ich stoße?