Wie finde ich heraus, welcher Prozess irgendwann auf meine Festplatte zugreift?

J

Junchen

Neues Mitglied
Thread Starter
Dabei seit
22.07.2013
Beiträge
12
Reaktionspunkte
0
Hallo,

ich habe an meinem Mac Mini externe Festplatten über USB angeschlossen. Der Mini fungiert als Server und entsprechend sind Freigaben auf den Platten eingerichtet. Damit die Platten nicht ständig neu anlaufen, habe ich den disksleep auf 3 Stunden eingestellt.

Seit neuestem laufen die Platten, und zwar alle gleichzeitig, hin und wieder an, obwohl kein Zugriff auf die Platte durch einen Benutzer erfolgt (getestet mit gezogenem LAN-Stecker). Der Mini wird nicht als Produktivgerät genutzt, es werden also keine "Speichern unter..."- oder "Öffnen..."- Dialoge geöffnet, die dieses Problem bekanntermaßen verursachen. Die Spotlightsuche auf den Platten habe ich durch Spotlights Privatsphäreeinstellungen unterbunden.

Gebe ich den Befehl "lsof | grep '/Volumes/Volumenname'", sowohl mit als auch ohne "sudo" ein, erhalte ich ausschließlich eine Zeile, die den Zugriff von "mds" bescheinigt. Ist das nicht Spotlight? Ist es normal, dass der Zugriff noch läuft, obwohl die oben genannten Einstellungen gemacht wurden?

Mit lsof kann ich den Zugriff ja nur während der Eingabe überprüfen, um den disksleep zu verhindern, oder zu beenden reicht jedoch ein einzelner Zugriff zu einem anderen Zeitpunkt. Kann man diese "Überwachung" irgendwie ausweiten, und die Zugriffe über einen längeren Zeitraum überwachen?

Vielen Dank schon einmal für alle Antworten!

Liebe Grüße
 
Am einfachsten wohl mit

fs_usage
https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/fs_usage.1.html

Sonst dtrace

z.B.
Code:
#!/usr/sbin/dtrace -s

syscall::open*:entry
{
   printf("%s %s", execname, copyinstr(arg0));
}

Output:
Code:
  1   1405                       open:entry AJA System Test /.vol/234881029/2/DiskWhackTest282475249_0.dwt
  1   1405                       open:entry AJA System Test /.vol/234881029/2/DiskWhackTest1622650073_0.dwt
  0   1405                       open:entry AJA System Test /.vol/234881029/2/DiskWhackTest984943658_0.dwt
  1   1405                       open:entry AJA System Test /.vol/234881029/2/DiskWhackTest1144108930_0.dwt


Sonst gibts noch iosnoop, iotop . Die kenn ich aber nicht. Ich würds erstmal mit fs_usage probieren.
 
  • Gefällt mir
Reaktionen: Junchen
Danke, das sieht sehr nach dem aus, was ich mir erhofft hatte.

Jedoch passiert auf der Platte weit mehr, als ich gedacht hätte. Sogar auf einer schlafenden Platte gibt es alle paar Sekunden "getattrlist"-Zugriffe und "lstat64" vom AppleFileServ und SystemUIServ. Ich habe schon gesehen, dass es entsprechende Parameter in fs_usage gibt, um diese auszuschließen, damit werde ich mich mal versuchen.

Kennt vielleicht jemand einen präziseren Weg, um eben nach genau den Prozessen zu suchen, die den disk spindown verhindern? Kann man generell sagen, dass "getattrlist" nie den Ruhezustand der Platte verhindert?
 
Zurück
Oben Unten