Page 1 of 1
df wird nicht weniger und Platte immer voller
Posted: 2005-07-13 19:42
by truenoir
Hallo,
seit einigen Tagen habe ich folgendes Problem mit meinem rootie:
Ich lasse mir jede nacht per logdigest die logs und die Server-Daten zuschicken, unter anderem auch "df -h" und in jedem Protokoll sind nahezu 100 MB mehr auf der Platte belegt (bei df). Inzwischen bin ich bei 9.3GiBi angekommen.
Dachte ich mir doch, na dann kopiere ein par rotierte Logs nach Hause und lösch die auf dem Server.
Nun habe ich ca. 230 MB an gz-ten Logs herunter geladen und auf dem Server gelöscht. Aber "df -h" zeigt (auch nach Stunden) trotzdem nicht weniger an.
Nun gibts die zwei Fragen:
1) Wie kann ich herausbekommen, wo da ständig ~100MB herkommen, ohne regelmäßig "du /" auszuführen (habe per IPTables mal nur HTTP/HTTPS/SSH freigegeben und den Traffic ein par Tage lang beobachtet (in und out getrennt). Aber da kommen die 100MBs nicht her).
2) Warum kann ich 200 MB löschen, ohe das df von 9.3G auf 9.1G wechselt?
System ist SuSE 7.2 Kernel 2.4.25-040218 (jaja, ist ziemlich alt)
Gruß,
Marcus
Re: df wird nicht weniger und Platte immer voller
Posted: 2005-07-13 23:52
by mausgreck
TrueNoir wrote:
2) Warum kann ich 200 MB löschen, ohe das df von 9.3G auf 9.1G wechselt?
Weil unter UNIX geunlink()te Files erst verschwinden, wenn keiner mehr darauf zugreift. Das ist übrigens eine nette Methode, private Files zu erstellen.
HTH
Re: df wird nicht weniger und Platte immer voller
Posted: 2005-07-14 01:45
by thorsten
lsof zeigt dir u.a. offene Dateien an.
grep mal nach denen, evtl. wirst du fündig
Re: df wird nicht weniger und Platte immer voller
Posted: 2005-07-14 10:44
by truenoir
Thorsten wrote:lsof zeigt dir u.a. offene Dateien an.
grep mal nach denen, evtl. wirst du fündig
also ich hab mal "lsof | grep gz" gemacht, aber die von mir gelöschten Log-archive sind da nicht zu finden.
df zeigt inzwischen 9.4G an.
Re: df wird nicht weniger und Platte immer voller
Posted: 2005-07-14 11:56
by Joe User
Boardsuche: MySQL binlog
Re: df wird nicht weniger und Platte immer voller
Posted: 2005-07-14 12:17
by truenoir
Joe User wrote:Boardsuche: MySQL binlog
Yup, an die Bin-Logs hab ich auch schon gedacht. Die sinds aber auch nicht, da gibts immernoch nur dir *.001 mit knapp 70MB, da ich die extrem log-intensiven Datenbanken (inkl. confixx) per --binlog-ignore-db=DB vom Logging ausschließe.
Re: df wird nicht weniger und Platte immer voller
Posted: 2005-07-14 12:29
by Joe User
Re: df wird nicht weniger und Platte immer voller
Posted: 2005-07-14 12:32
by st3fan
Re: df wird nicht weniger und Platte immer voller
Posted: 2005-07-15 10:19
by truenoir
Ergebnis:
Code: Select all
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 436 64 ? S Jun27 0:30 init [3]
root 2 0.0 0.0 0 0 ? SW Jun27 0:00 [keventd]
root 3 0.0 0.0 0 0 ? SWN Jun27 0:00 [ksoftirqd_CPU0]
root 4 0.0 0.0 0 0 ? SW Jun27 1:57 [kswapd]
root 5 0.0 0.0 0 0 ? SW Jun27 0:00 [bdflush]
root 6 0.0 0.0 0 0 ? SW Jun27 1:42 [kupdated]
root 7 0.0 0.0 0 0 ? SW Jun27 0:11 [pagebufd]
root 8 0.0 0.0 0 0 ? SW Jun27 0:00 [xfslogd/0]
root 9 0.0 0.0 0 0 ? SW Jun27 0:00 [xfsdatad/0]
root 11 0.0 0.0 0 0 ? SW Jun27 4:06 [kjournald]
root 38 0.0 0.0 0 0 ? SW Jun27 0:04 [kjournald]
root 286 0.0 0.1 1300 452 ? S Jun27 0:00 /sbin/dhcpcd -t 999999 eth0
root 320 0.0 0.2 2236 624 ? S Jun27 0:03 /usr/sbin/sshd
root 14162 0.0 0.6 2948 1620 ? S 10:06 0:00 _ /usr/sbin/sshd
web1 14219 0.0 0.6 2668 1532 pts/3 S 10:06 0:00 _ -bash
root 15219 0.0 0.4 2140 1176 pts/3 S 10:08 0:00 _ su -
root 15246 0.0 0.6 2660 1536 pts/3 S 10:08 0:00 _ -bash
root 17011 0.0 0.6 2496 1524 pts/3 R 10:11 0:00 _ ps auxf
root 332 0.0 0.2 1364 584 ? S Jun27 0:17 /sbin/syslogd
root 336 0.0 0.1 2028 436 ? S Jun27 0:00 /sbin/klogd -c 1
at 345 0.0 0.2 1432 524 ? S Jun27 0:00 /usr/sbin/atd
root 447 0.0 0.3 3240 936 ? S Jun27 1:35 sendmail: accepting connections
root 459 0.0 0.4 6056 1188 ? S Jun27 0:53 /usr/bin/perl /usr/libexec/webmin/miniserv.pl /etc/webmin/miniserv.conf
root 503 0.0 1.5 3952 3944 ? SL Jun27 1:56 /usr/sbin/xntpd
root 514 0.0 1.5 3952 3944 ? SL Jun27 0:18 _ /usr/sbin/xntpd
root 516 0.0 1.5 3952 3944 ? SL Jun27 2:03 | _ /usr/sbin/xntpd
root 519 0.0 0.4 4080 1072 ? S Jun27 0:00 _ /usr/sbin/xntpd
root 517 0.0 0.2 1452 596 ? S Jun27 0:20 /usr/sbin/cron
root 10449 0.0 0.2 1456 520 ? S Jul14 0:00 _ /USR/SBIN/CRON
root 10459 0.0 0.0 0 0 ? Z Jul14 0:00 | _ [sh <defunct>]
smmsp 10477 0.0 0.2 3156 684 ? S Jul14 0:00 | _ /usr/sbin/sendmail -FCronDaemon -odi -oem root
root 16650 0.0 0.0 0 0 ? Z 10:11 0:00 _ [cron <defunct>]
root 16651 0.0 0.0 0 0 ? Z 10:11 0:00 _ [cron <defunct>]
root 16652 0.0 0.0 0 0 ? Z 10:11 0:00 _ [cron <defunct>]
root 16653 0.0 0.0 0 0 ? Z 10:11 0:00 _ [cron <defunct>]
root 16654 0.0 0.0 0 0 ? Z 10:11 0:00 _ [cron <defunct>]
root 16662 0.0 0.0 0 0 ? Z 10:11 0:00 _ [cron <defunct>]
root 535 0.3 0.2 11768 688 ? S Jun27 91:36 /usr/sbin/nscd
root 539 0.0 0.2 11768 688 ? S Jun27 0:20 _ /usr/sbin/nscd
root 540 0.3 0.2 11768 688 ? S Jun27 90:56 _ /usr/sbin/nscd
root 541 0.1 0.2 11768 688 ? S Jun27 41:46 _ /usr/sbin/nscd
root 542 0.1 0.2 11768 688 ? S Jun27 42:02 _ /usr/sbin/nscd
root 543 0.1 0.2 11768 688 ? S Jun27 42:09 _ /usr/sbin/nscd
root 544 0.1 0.2 11768 688 ? S Jun27 43:17 _ /usr/sbin/nscd
root 559 0.0 0.1 1312 484 ? S Jun27 0:00 /usr/sbin/inetd
root 671 0.0 0.1 1272 428 tty1 S Jun27 0:00 /sbin/mingetty --noclear tty1
root 672 0.0 0.1 1272 428 tty2 S Jun27 0:00 /sbin/mingetty tty2
root 673 0.0 0.1 1272 428 tty3 S Jun27 0:00 /sbin/mingetty tty3
root 674 0.0 0.1 1272 428 tty4 S Jun27 0:00 /sbin/mingetty tty4
root 675 0.0 0.1 1272 428 tty5 S Jun27 0:00 /sbin/mingetty tty5
root 676 0.0 0.1 1272 428 tty6 S Jun27 0:00 /sbin/mingetty tty6
root 5722 0.0 0.2 1624 732 ? S Jun27 0:02 /usr/local/sbin/smartd -l local3
root 30822 0.0 0.2 2348 708 ? S Jun28 0:15 /usr/sbin/nmbd -D
root 30826 0.0 0.2 3316 540 ? S Jun28 0:00 /usr/sbin/smbd -D
root 945 0.0 1.4 6120 3632 ? S Jun28 7:57 _ /usr/sbin/smbd -D
root 964 0.0 0.1 2192 480 ? S Jun28 0:00 smbmount //127.0.0.1/smbwww /smbwww -o rw username wwwrun
spamd 23629 0.0 1.3 20340 3308 ? S Jun29 0:05 /usr/local/bin/perl -T -w /usr/bin/spamd -x -u spamd -H /var/spool/spamassassin -d
root 19231 0.0 0.3 2416 956 ? S Jul14 0:00 /bin/sh /usr/local/bin/mysqld_safe --user=mysql --pid-file=/var/lib/mysql/mysqld.pid --socket=/var/lib/mysql/mysql.sock --binlog-ignore-db=confixx --binlog-ignore-db=access_log --binlog-ignore-db=access --log-slow-queries=/
mysql 19275 0.0 3.4 22776 8596 ? S Jul14 0:03 _ /usr/local/libexec/mysqld --basedir=/usr/local --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysql/mysqld.pid --skip-locking --socket=/var/lib/mysql/mysql.sock --binlog-ignore-db=confixx --binlog-ignore-db=a
mysql 19277 0.0 3.4 22776 8596 ? S Jul14 0:03 _ /usr/local/libexec/mysqld --basedir=/usr/local --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysql/mysqld.pid --skip-locking --socket=/var/lib/mysql/mysql.sock --binlog-ignore-db=confixx --binlog-ignore-
mysql 19278 0.8 3.4 22776 8596 ? S Jul14 12:35 _ /usr/local/libexec/mysqld --basedir=/usr/local --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysql/mysqld.pid --skip-locking --socket=/var/lib/mysql/mysql.sock --binlog-ignore-db=confixx --binlog-ign
mysql 19596 0.0 3.4 22776 8596 ? S Jul14 0:02 _ /usr/local/libexec/mysqld --basedir=/usr/local --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysql/mysqld.pid --skip-locking --socket=/var/lib/mysql/mysql.sock --binlog-ignore-db=confixx --binlog-ign
mysql 21353 2.6 3.4 22776 8596 ? S Jul14 36:45 _ /usr/local/libexec/mysqld --basedir=/usr/local --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysql/mysqld.pid --skip-locking --socket=/var/lib/mysql/mysql.sock --binlog-ignore-db=confixx --binlog-ign
root 16693 0.0 4.8 84544 11908 ? SN 00:15 0:02 /usr/sbin/httpd -f /etc/httpd/httpd.conf -D SSL
wwwrun 16747 0.0 0.5 84076 1380 ? SN 00:15 0:00 _ /usr/sbin/fcgi- -f /etc/httpd/httpd.conf -D SSL
root 16753 0.0 0.4 2412 1108 ? SN 00:15 0:01 _ /usr/bin/perl /root/confixx/pipelog.pl
wwwrun 16754 0.0 4.9 85948 12164 ? SN 00:15 0:07 _ /usr/sbin/httpd -f /etc/httpd/httpd.conf -D SSL
wwwrun 17109 0.0 4.9 86008 12204 ? SN 00:16 0:05 _ /usr/sbin/httpd -f /etc/httpd/httpd.conf -D SSL
Ergebnis:
Code: Select all
ROOT:~ > lsof -sn | grep deleted
php 10469 root txt REG 3,3 7010781 525211 /usr/bin/php (deleted)
php 10469 root 3u REG 3,3 0 4931910 /tmp/session_mm_cli0.sem (deleted)
php 10469 root 5u REG 3,3 0 4931911 /tmp/sess_d000633ecc1eb8aa4bb62098b4a02ed0 (deleted)
httpd 16693 root 5u REG 3,3 0 4931598 /tmp/session_mm_apache0.sem (deleted)
httpd 16747 root 5u REG 3,3 0 4931598 /tmp/session_mm_apache0.sem (deleted)
pipelog.p 16753 root 5u REG 3,3 0 4931598 /tmp/session_mm_apache0.sem (deleted)
httpd 16754 root 5u REG 3,3 0 4931598 /tmp/session_mm_apache0.sem (deleted)
httpd 17109 root 5u REG 3,3 0 4931598 /tmp/session_mm_apache0.sem (deleted)
Wenn mir hier mal jemand die erste Ausgabezeile erklären könnte....
Re: df wird nicht weniger und Platte immer voller
Posted: 2005-07-15 11:57
by lord_pinhead
Wenn das ein Rootie ist, was macht Samba drauf und ein DHCPD ? Ist das ne Kiste bei dir daheim?
Anyway, aus der Ausgabe das PHP gelöscht wurde würd ich mir nix machen. Hab auch ab und an mal eigenartige Einträge:
Code: Select all
inetd 9144 root 0u CHR 1,3 98029 /dev/null (deleted)
inetd 9144 root 1u CHR 1,3 98029 /dev/null (deleted)
inetd 9144 root 2u CHR 1,3 98029 /dev/null (deleted)
mysqld 32332 mysql 7u REG 8,3 0 132634 /tmp/ibMA6gO2 (deleted)
mysqld 32332 mysql 8u REG 8,3 0 132637 /tmp/ibGi96AY (deleted)
/dev/null ist aber noch da und funktioniert, also mach ich mir da weniger Sorgen.
Blöd gesagt, fahr mal alle Dienste runter und dann nacheinander wieder hoch, angefangen mit Syslog. Wieviele Files liegen bei dir in /tmp rum? du -hs /tmp sollte es dir sagen.
Re: df wird nicht weniger und Platte immer voller
Posted: 2005-07-15 19:01
by truenoir
Lord_Pinhead wrote:Wenn das ein Rootie ist, was macht Samba drauf
Nun, das war der einzige Trick, der mir eingefallen ist, das Problem der Groß- und Kleinschreibung in den Dateien einer umfangreichen Webseite zu umgehen. Daher wird das WWW-Verzeichnis lokal über Samba eingebunden und Apache auf die samba-Freigabe losgelassen....
Und der Samba ist nur auf dem Server selbst erreichbar, nicht von extern.
Lord_Pinhead wrote:und ein DHCPD ?
Das war von Anfang an so bei 1&1 eingerichtet. Da ich nicht weiß, ob das notwendig ist, hab ichs einfach drinn gelassen. Schaden kanns ja nicht, oder?
Lord_Pinhead wrote: Ist das ne Kiste bei dir daheim?
Nee.
Lord_Pinhead wrote: Wieviele Files liegen bei dir in /tmp rum? du -hs /tmp sollte es dir sagen.
Ergebnis:
Der Server wurde vor 18 Tagen neu gestartet, weil ich dachte, das Problem könne damit behoben werden. Aber geändert hatte sich nichts. Und mir unbekannte Prozesse kann ich nicht finden.
Re: df wird nicht weniger und Platte immer voller
Posted: 2005-07-15 19:57
by Joe User
TrueNoir wrote:Nun, das war der einzige Trick, der mir eingefallen ist, das Problem der Groß- und Kleinschreibung in den Dateien einer umfangreichen Webseite zu umgehen.
Dafür wurde mod_speling erfunden...
Re: df wird nicht weniger und Platte immer voller
Posted: 2005-07-15 20:51
by mausgreck
TrueNoir wrote:Nun, das war der einzige Trick, der mir eingefallen ist, das Problem der Groß- und Kleinschreibung in den Dateien einer umfangreichen Webseite zu umgehen. Daher wird das WWW-Verzeichnis lokal über Samba eingebunden und Apache auf die samba-Freigabe losgelassen....
Absolutely brilliant. :P
Aber zurück zum Thema: warum machst du nicht in gewissen Zeitabständen "ls -lR / > blah" und "diff -u"st die Dinge. Müsste ja ziemlich offensichtlich sein, welche Files wachsen... Tools gibt es für den Zweck sicher auch noch...
Re: df wird nicht weniger und Platte immer voller
Posted: 2005-07-15 21:54
by thorsten
Ich glaube inotify ist in Zukunft das Program der Wahl, wenn man Dateiveränderungen überwachen möchte.
Inotify ist übrigens im nächsten offiziellen 2.6er:
http://rlove.org/log/2005/Jul/13
Re: df wird nicht weniger und Platte immer voller
Posted: 2005-07-18 16:05
by truenoir
Joe User wrote:Dafür wurde mod_speling erfunden...
danke für den Tipp :)
mausgreck wrote:Absolutely brilliant. :P
:D
mausgreck wrote:Aber zurück zum Thema: warum machst du nicht in gewissen Zeitabständen "ls -lR / > blah" und "diff -u"st die Dinge. Müsste ja ziemlich offensichtlich sein, welche Files wachsen... Tools gibt es für den Zweck sicher auch noch...
So, das hab ich jetzt mal ein par Tage gemacht. Bei den jeweiligen diff-Dateien kommt zwar eine sehr große Liste (~800kiBi) raus, aber eigentlich ist da auch nichts zu finden, was den Verbrauch erklärt.
Thorsten wrote:Ich glaube inotify ist in Zukunft das Program der Wahl, wenn man Dateiveränderungen überwachen möchte.
Irgendwie kann ich das Programm für Kernel 2.4 nicht finden. Gibts da evtl. noch eine URL zu?
Re: df wird nicht weniger und Platte immer voller
Posted: 2005-07-18 18:33
by Joe User
TrueNoir wrote:Irgendwie kann ich das Programm für Kernel 2.4 nicht finden.
Gibt es auch nur für den 2.6er...
Re: df wird nicht weniger und Platte immer voller
Posted: 2005-07-20 10:07
by truenoir
Joe User wrote:TrueNoir wrote:Irgendwie kann ich das Programm für Kernel 2.4 nicht finden.
Gibt es auch nur für den 2.6er...
Dann war der Hinweis richtig ja gut dafür, dass ich schon beim ersten Posting geschrieben habe, das ich den 2.4er habe :)
Aber so langsam scheint sich das Problem aufzulösen. Inzwischen werden nur noch ca. 60 MB pro 24 Stunden belegt.....
Re: df wird nicht weniger und Platte immer voller
Posted: 2005-07-20 16:35
by bws
wieso willst du nicht "regelmässig" du -sh /* ausführen?
zweimal ausführen und du weisst schon an welchem hauptverzeichnis es liegt, nen tag später an welchem unterverzeichnis etc...
versteh wirklich nicht wo das problem daran sein soll...
Re: df wird nicht weniger und Platte immer voller
Posted: 2005-07-24 10:40
by truenoir
So wie es aussieht bleibt wohl nichts anderes übrig als das über "du" zu klären.
Ich wollte das bloss nicht tun, weil das a) ca. 15 Minuten dauert (habe sehr viele Dateien auf dem Server) und b) Der Webserver in der Zeit dann komischerweise auch sehr träge reagiert, manchmal kommt beim Browser auch nur noch ein TimeOut an.
Aber ich werds wohl mal probieren müssen.
Cronjob Zombies
Posted: 2005-07-24 15:24
by kawfy
TrueNoir wrote:Code: Select all
[...]root 517 0.0 0.2 1452 596 ? S Jun27 0:20 /usr/sbin/cron
root 10449 0.0 0.2 1456 520 ? S Jul14 0:00 _ /USR/SBIN/CRON
root 10459 0.0 0.0 0 0 ? Z Jul14 0:00 | _ [sh <defunct>]
smmsp 10477 0.0 0.2 3156 684 ? S Jul14 0:00 | _ /usr/sbin/sendmail -FCronDaemon -odi -oem root
root 16650 0.0 0.0 0 0 ? Z 10:11 0:00 _ [cron <defunct>]
root 16651 0.0 0.0 0 0 ? Z 10:11 0:00 _ [cron <defunct>]
root 16652 0.0 0.0 0 0 ? Z 10:11 0:00 _ [cron <defunct>]
root 16653 0.0 0.0 0 0 ? Z 10:11 0:00 _ [cron <defunct>]
root 16654 0.0 0.0 0 0 ? Z 10:11 0:00 _ [cron <defunct>]
root 16662 0.0 0.0 0 0 ? Z 10:11 0:00 _ [cron <defunct>][...]
:?: das sieht unsauber aus -- haben die Cronjobs etwas mit deiner Log rotation zu tun? Solange diese Prozesse als Zombies abhängen, geben sie die Dateien nicht frei ...?
Re: Cronjob Zombies
Posted: 2005-07-25 14:20
by truenoir
kawfy wrote::?: das sieht unsauber aus -- haben die Cronjobs etwas mit deiner Log rotation zu tun? Solange diese Prozesse als Zombies abhängen, geben sie die Dateien nicht frei ...?
Sollte sich das auf die "[cron <defunct>]" beziehen, so gibts da jede volle Minute neue, wobei die alten verschwinden:
Code: Select all
~ > ps aux|grep cron
root 517 0.0 0.2 1452 632 ? S Jun27 0:33 /usr/sbin/cron
root 15964 0.0 0.0 0 0 ? Z 14:09 0:00 [cron <defunct>]
root 15965 0.0 0.0 0 0 ? Z 14:09 0:00 [cron <defunct>]
root 15966 0.0 0.0 0 0 ? Z 14:09 0:00 [cron <defunct>]
root 15967 0.0 0.0 0 0 ? Z 14:09 0:00 [cron <defunct>]
root 15968 0.0 0.0 0 0 ? Z 14:09 0:00 [cron <defunct>]
root 15977 0.0 0.0 0 0 ? Z 14:09 0:00 [cron <defunct>]
web1 16437 0.0 0.2 1712 732 pts/3 R 14:09 0:00 grep cron
~ > date
Mon Jul 25 14:09:56 CEST 2005
Und in der "nächsten" Minute siehts dann so aus
Code: Select all
~ > ps aux|grep cron
root 517 0.0 0.2 1452 632 ? S Jun27 0:33 /usr/sbin/cron
root 16497 0.0 0.0 0 0 ? Z 14:09 0:00 [cron <defunct>]
root 16499 0.0 0.0 0 0 ? Z 14:09 0:00 [cron <defunct>]
root 16500 0.0 0.0 0 0 ? Z 14:09 0:00 [cron <defunct>]
root 16518 0.0 0.0 0 0 ? Z 14:09 0:00 [cron <defunct>]
root 16529 0.0 0.0 0 0 ? Z 14:10 0:00 [cron <defunct>]
web1 16577 0.0 0.2 1712 732 pts/3 R 14:10 0:00 grep cron
also neue "defunc"-Prozesse (PIDs).
Die Logrotation läuft eigentlich nur nachts ab.