Sie können http://samwel.tk/laptop_mode/ überprüfen . Diese Seite befasst sich zwar nicht in erster Linie mit Ihrem Problem, bietet jedoch ein gutes Gesamtbild der Funktionsweise und Ideen von E / A und der Stummschaltung Ihrer Festplatten durch Ausschalten.
Die kurze Antwort auf Ihr Problem:
Echo 1> / proc / sys / vm / block_dump
Es werden Nachrichten in Syslog wie folgt erzeugt:
23. Juli 10:04:05 locutus kernel: ls (5224): LESEN Sie Block 7340136 auf dm-4
23. Juli 10:04:05 locutus kernel: ls (5224): LESEN Sie Block 4335136 auf dm-4
23. Juli 10:04:05 locutus kernel: ls (5224): LESEN Sie Block 15505568 auf dm-4
23. Juli 10:04:05 locutus kernel: ls (5224): LESEN Sie Block 7340160 auf dm-4
23. Juli 10:04:05 locutus kernel: ls (5224): LESEN Sie Block 7340168 auf dm-4
Ich habe einen einfachen ls-Befehl verwendet
ANMERKUNG: Stellen Sie sicher, dass Ihre Systemprotokollierung deaktiviert oder auf eine Ramdisk (Typ: tmpfs) geschrieben ist, da (Zitat): "Ihr System kann in eine Rückkopplungsschleife geraten, in der syslogd Festplattenaktivität verursacht. Dies führt zur Kernelausgabe. und dies führt dazu, dass syslogd mehr Festplattenaktivität ausfü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 Standard, Größe = 256M 0 0
Ich habe iotop verwendet, um herauszufinden, was das Laufwerk verwendet. Auf der Website muss "Linux-Kernel ≥ 2.6.20 mit aktivierten Optionen TASK_DELAY_ACCT und TASK_IO_ACCOUNTING" aktiviert sein.
Es hört sich so an, als wären Sie nur an einem bestimmten Laufwerk interessiert. Sie können ein Skript schreiben, das routinemäßig mit lsof oder fuser nach dem Zugriff auf dieses Laufwerk / diese Partition sucht.
quelle
Wenn ein Prozess beginnt, Daten auf das Laufwerk zu schreiben, können Sie dies herausfinden, indem Sie regelmäßig die geöffneten Dateien überprüfen: lsof .
Andernfalls könnten Sie mit "frei" suchen, ob die Auslagerungsdatei verwendet wird oder nicht.
quelle
Sie sollten in der Lage sein, mithilfe der Linux- Überwachung eine Überwachung des Mountpunkts des Laufwerks hinzuzufügen und dann die Protokolle nach dem Ereignis mit ausearch zu überwachen, um herauszufinden, aus welcher Datei (falls vorhanden) eine Datei gelesen oder geschrieben wurde und welchen Prozess dies bei der Prüfung durchgeführt hat Achten Sie auf Lese-, Schreib-, Ausführungs- und Attributänderungen in jedem Dateisystem (sofern dies auf Ihrem System unterstützt wird - sollte es sein).
quelle
Vielleicht könnten Sie incron verwenden, das inotify verwendet, um Befehle basierend auf der Dateisystemaktivität zu starten. Sie könnten dann möglicherweise den Einhängepunkt beobachten und mit incron lsof auslösen, um zu suchen, auf welchen Prozess zugegriffen wird.
quelle
Es ist einfach zu überprüfen, was Ihre Festplatte dreht:
Gehen Sie in das Verzeichnis der gemounteten Festplatte, für mich war / media / disk0 / Transmission
dann führen Sie aus:
sudo fatrace -c
Sie haben die Ausgabe von allem, was auf diesen Ordner trifft. Sie können sich beispielsweise mit ssh anmelden und ein ls ausführen.
quelle