Unerwartete Festplattenaktivität: Welche Prozesse sind hier im Gange?

cabriofahrer

Well-Known Member
Gestern fiel mir plötzlich eine unerwartet lange intensive Festplattenaktivität auf. Ein ps -x als root ergab folgende Ausgabe. In den Pfaden taucht "periodic/security" auf. Nie davon gehört. Ist das normal? Worum handelt es sich dabei genau?

Code:
$ su
Password:
# ps -x
 PID TT  STAT      TIME COMMAND
   0  -  DLs    0:03.11 [kernel]
   1  -  ILs    0:00.01 /sbin/init --
   2  -  DL     0:00.00 [crypto]
   3  -  DL     0:00.00 [crypto returns 0]
   4  -  DL     0:00.00 [crypto returns 1]
   5  -  DL     0:10.08 [cam]
   6  -  IL     0:00.00 [fw0_probe]
   7  -  DL     0:00.00 [fdc0]
   8  -  DL     0:00.00 [soaiod1]
   9  -  DL     0:00.00 [soaiod2]
  10  -  DL     0:00.00 [audit]
  11  -  RNL  139:13.94 [idle]
  12  -  WL     0:30.28 [intr]
  13  -  DL     0:00.17 [geom]
  14  -  DL     0:00.00 [sequencer 00]
  15  -  DL     0:00.66 [usb]
  16  -  DL     0:00.00 [soaiod3]
  17  -  DL     0:00.00 [soaiod4]
  18  -  DL     0:00.00 [Timer]
  19  -  DL     0:00.00 [sctp_iterator]
  20  -  DL     0:00.31 [rand_harvestq]
  21  -  DL     0:00.05 [acpi_thermal]
  22  -  DL     0:00.00 [acpi_cooling0]
  23  -  DL     0:05.60 [pagedaemon]
  24  -  DL     0:00.06 [vmdaemon]
  25  -  DL     0:01.31 [bufdaemon]
  26  -  DL     0:02.52 [syncer]
  27  -  DL     0:00.52 [vnlru]
 111  -  IWs    0:00.00 adjkerntz -i
 420  -  I<s    0:00.16 /usr/local/sbin/webcamd -i 0 -d ugen1.2 -B -U webcamd -
 506  -  Is     0:00.00 dhclient: system.syslog (dhclient)
 509  -  Is     0:00.00 dhclient: nfe0 [priv] (dhclient)
 694  -  Ss     0:01.19 /usr/sbin/moused -p /dev/ums0 -t auto -I /var/run/mouse
 719  -  Ss     0:00.61 /sbin/devd
 776  -  DL     0:00.00 [ng_queue]
 803  -  Ss     0:00.32 /usr/sbin/syslogd -s
1039  -  Ss     0:00.04 /usr/local/sbin/nmbd --daemon --configfile=/usr/local/e
1043  -  Is     0:00.61 /usr/local/sbin/smbd --daemon --configfile=/usr/local/e
1048  -  S      0:00.01 /usr/local/sbin/smbd --daemon --configfile=/usr/local/e
1049  -  S      0:00.01 /usr/local/sbin/smbd --daemon --configfile=/usr/local/e
1050  -  I      0:00.01 /usr/local/sbin/smbd --daemon --configfile=/usr/local/e
1051  -  Ss     0:00.31 /usr/local/bin/perl /usr/local/lib/webmin/miniserv.pl /
1071  -  Ss     0:00.05 sendmail: accepting connections (sendmail)
2729  -  DL     0:00.12 [zfskern]
3073  -  Ss     0:00.35 /usr/local/libexec/dsbmd
3078  -  Is     0:00.05 /usr/local/sbin/cupsd -C /usr/local/etc/cups/cupsd.conf
3108  -  Is     0:00.00 /usr/sbin/sshd
3123  -  Ss     0:00.14 /usr/local/sbin/httpd
3132  -  Ss     0:00.02 /usr/sbin/cron -s
3209  -  I      0:00.07 /usr/local/sbin/console-kit-daemon --no-daemon
3212  -  S      0:30.63 /usr/local/bin/Xorg -nolisten tcp -auth /var/run/sddm/{
3291  -  I      0:00.02 /usr/local/libexec/sddm-helper --socket /tmp/sddm-auth0
3680  -  I      0:00.00 cron: running job (cron)
3682  -  IWs    0:00.00 /bin/sh - /usr/sbin/periodic daily
3684  -  IW     0:00.00 lockf -t 0 /var/run/periodic.daily.lock /bin/sh /usr/sb
3685  -  IW     0:00.00 /bin/sh /usr/sbin/periodic LOCKED daily
3693  -  IW     0:00.00 /bin/sh /usr/sbin/periodic LOCKED daily
3694  -  I      0:00.00 mail -E -s amd64.local daily run output root
3790  -  IW     0:00.00 /bin/sh /etc/periodic/daily/450.status-security
3791  -  IW     0:00.00 /bin/sh - /usr/sbin/periodic security
3793  -  IW     0:00.00 lockf -t 0 /var/run/periodic.security.lock /bin/sh /usr
3794  -  IW     0:00.00 /bin/sh /usr/sbin/periodic LOCKED security
3801  -  I      0:00.01 /bin/sh /usr/sbin/periodic LOCKED security
3802  -  I      0:00.00 mail -E -s amd64.local daily security run output root
4494  -  I      0:00.00 /bin/sh - /usr/local/etc/periodic/security/460.pkg-chec
4497  -  I      0:00.00 /bin/sh - /usr/local/etc/periodic/security/460.pkg-chec
4498  -  I      0:00.00 /usr/local/sbin/pkg check -qsa
4499  -  I      0:00.00 sed -e s/ checksum mismatch for//
4500  -  IC     0:00.00 tee /dev/stderr
4501  -  I      0:00.00 wc -l
4502  -  D      1:40.07 /usr/local/sbin/pkg check -qsa
1089 v0- I      0:00.05 /usr/local/bin/sddm
3194 v0  Is+    0:00.00 /usr/libexec/getty Pc ttyv0
3195 v1  Is+    0:00.00 /usr/libexec/getty Pc ttyv1
3196 v2  Is+    0:00.00 /usr/libexec/getty Pc ttyv2
3197 v3  Is+    0:00.00 /usr/libexec/getty Pc ttyv3
3198 v4  Is+    0:00.00 /usr/libexec/getty Pc ttyv4
3199 v5  Is+    0:00.00 /usr/libexec/getty Pc ttyv5
3200 v6  Is+    0:00.00 /usr/libexec/getty Pc ttyv6
3201 v7  Is+    0:00.00 /usr/libexec/getty Pc ttyv7
4608  1  S      0:00.01 su
4609  1  S      0:00.00 su (sh)
4610  1  R+     0:00.00 ps -x
#
 
Es gibt einige Tasks die täglich/wöchentlich laufen. Security checkt nach bekannten Schwachstellen in Paketen, aber auch bei welchen Datein das suid Bit gesetzt ist. Das ganze wird dann an root gemailt, sollte dir eigentlich schonmal aufgefallen sein ;)

Das ganze steuert sich über die /etc/defaults/periodic.conf
 
Nein, ist mir eigentlich noch nie aufgefallen. Vielleicht war es gestern zufällig besonders lang und intensiv, keine Ahnung. Aber vielen Dank für die Erklärung!
 
grundsätzlich ist es immer schwierig, ungeahnte Festplatten-Aktivitäten zu verfolgen, denn jedes Dateisystem und bestimmte Dienste aktivieren zur Laufzeit Überprüfungen, wenn es das System zu lässt. So gibt es Dienste, die Veränderungen an Dateien beobachten, um das System entsprechend informieren zu können, es gibt Prüfungen des Dateisystems selbst und eben auch Prüfungen der installierten SW, wenn ein System das macht.

Es ist sehr schwierig und lsof(8) ist vielleicht die beste Hilfe, der Ursache auf die Spur zu kommen.
Die man-Page zu lesen und zu verstehen, ist ungefähr so komplex, wie bei awk und sed auch.
Das sind gigantisch gute Tools, aber wir unbedarfte Endanwender sind damit immer überfordert, finden aber Beispiele im WWW, zumindest, wenn wir Glück haben und gezielt suchen.
Oft langt es aber schon, kurz mit top(1) hinzusehen. Die man-Page ist deutlich kürzer und einfacher zu lesen. Trotzdem übersieht man sher gerne, dass man top (FreeBSD top) in zwei unterschiedlichen Modi betreiben kann.
Code:
     m       Toggle the display between 'cpu' and 'io' modes.
Mit einem top -tCSI -m io zum Beispiel, sieht man ziemlich gut, welche io-Prozesse laufen und die greifen ja auf Medien zu. Das ist keine gezielte Suche, aber in einem recht ruhigen System bekommt man so oft ausreichend genaue Antworten. Finde ich.
 
Mit Dtrace geht das durchaus. Du kannst Syscalls oder VFS Operationen tracen und einem Prozess ankreiden und mitzählen. Im VFS ist aber nicht mehr immer zu sehen wer der "Schuldige" ist.
 
Zurück
Oben