On 24 Sep 2001, at 8:55, Bernd Brodesser wrote:
* Andreas Kyek schrieb am 24.Sep.2001:
Das ganze "kann" verursacht werden durch nicht sichtbare Files. Diese können z.B. dadurch entstehen, daß Du im laufenden Betrieb z.B. die Logfiles für den syslogd löscht und ein neues mit z.B. touch anlegst _ohne_ den syslogd neu zu starten (oder auch nur zu initialisieren). Dann wird der syslogd bis auf weiteres in dein altes logfile weiterschreiben und die Platte vollmüllen, ohne das Du es siehst. Wir hatten so was mal auf einer Produktionsmaschine, wo ein übereifriger clean-up Job zu viele Dateien gelöscht hat. Wir haben damals sogar die Platte tauschen lassen, aber das hat nix gebracht. Dann müßte aber nach einen Reboot wieder alles i.O. sein.
Bei _fehlendem_ Plattenplatz tippe ich eigentlich immer auf so ein Phänomen. (das muß ja nicht der syslogd gewesen sein. Es kann jeder permanent laufende Prozess sein, dessen Logfile ihm "unterm Arsch" weggezogen wurde und somit nicht mehr mit z.B. "ls" sichtbar ist.)
PS: Dies ist übrigens, bewußt eingesetzt, ein IMHO elegante Methode temporäre Dateien, die für niemanden sichtbar sind, aus einem Programm heraus anzulegen. (open und direkt danach einen unlink. Bei schließen erst wird der Platz freigegeben)
Bist Du Dir sicher, daß das auf Platte geschrieben wird? Oder wird das nicht vielmehr nur im Hauptspeicher vorgehalten, und fällt erst dann auf, wenn sich so viel angesammelt hat, daß der kernel was abspeichern will?
Ja, da bin ich mir sicher. Überleg doch mal was passiert. Dein Programm hat irgendwann ein File geöffnet und einen Filehandle bekommen. Nun wird munter in diesen Filehandle geschrieben. Durch das löschen (unlink) wird der Inode Eintrag entfernt, aber die Daten werden nicht freigegeben, da noch ein Prozess das File geöffnet hat. Das ist mir neben Linux schon auf HP-UX und IBM AIX passiert. Und immer mit dem gleichen Ergebnis. Du wirst auch feststellen, daß jede dieser Applikationen keinen Fehler meldet. Sie kann ja auch weiterhin in alle Files schreiben. Diese sind nach wir vor noch da und zum schreiben geöffnet. So habe ich mal ein Swap-System für eine Applikation mit designed, die > 10 GByte temporäre Dateien brauchte. Vorteil dieses Ansatzes ist z.B. (neben der Unsichtbarkeit der Daten) das Du dich nicht ums Aufrüumen am Ende kümmern mußt. Das macht das Betriebssystem für Dich.
Bei Helga tippe ich darauf, daß die Mountpoints nicht leer waren.
Das ist natürlich auch eine Möglichkeit, die ich allerdings nach dem Lesen der Mails als von Helga abgelehnt betrachtet hatte. Sachlich ist das allerdings richtig. Andreas