Hintergrund des Problems Das Serverüberwachungssystem eines Geschäftssystems hat eine Frühwarnmeldung gesendet, dass die Festplattennutzungsrate 90 % erreicht hat. Dann habe ich mich beim Server angemeldet, nach größeren Protokolldateien gesucht und sie alle gelöscht (hier war die Grube vergraben). Etwas Festplattenspeicher wurde freigegeben, aber ich war damals nachlässig und habe nicht überprüft, ob der Speicherplatz für die gefundenen und gelöschten Dateien vollständig freigegeben wurde. Ein paar Tage später wurde der Server erneut gewarnt. Ich war verwirrt, warum das Protokoll so schnell wuchs. Nach einer Untersuchung stellte ich fest, dass es daran lag, dass nach dem letzten Dateilöschvorgang ein großer Dateispeicherplatz nicht freigegeben wurde. Problembehebung und -lösung Finden Sie die Datendateien, die viel Speicherplatz beanspruchen #Überprüfen Sie die Festplattenspeichernutzung $ df -h #Fragen Sie zuerst die Dateien ab, die viel Speicherplatz im Verzeichnis /tmp belegen $ du -sh /tmp/*|sort -nr|head -3 #Frage die Dateien ab, die viel Speicherplatz im /home-Verzeichnis belegen $ du -sh /home/*|sort -nr|head -3 # Nachdem Sie die Datei gefunden haben, löschen Sie sie. Überprüfen Sie nach dem Löschen mit df -h, ob sie freigegeben wurde. Erklären Sie, warum bei der Dateisuche zuerst die Dateien im Verzeichnis /tmp/* durchsucht werden. Löschrichtlinie für Linux-Systeme: Linux verfügt nicht über eine Papierkorbfunktion, daher verschiebt der Dienst die zu löschenden Dateien zuerst in das Systemverzeichnis /tmp und löscht dann regelmäßig die Daten im Verzeichnis /tmp. Viele Server verfügen bei der Installation des Systems nicht über eine separate Partition für /tmp, sodass die Daten im Verzeichnis /tmp möglicherweise einen großen Teil des Speicherplatzes belegen. Sie können zunächst die Dateien im Verzeichnis /tmp löschen, um Speicherplatz freizugeben. Das Problem des Löschens von Dateien ohne Freigabe von Speicherplatz trat beim Löschen einer Dubbo-Dienstprotokolldatei im /home-Verzeichnisspeicher auf. Durch das Löschen von Dateien wird kein Speicherplatz freigegeben Normalerweise kommt es nicht vor, dass nach dem Löschen einer Datei kein Speicherplatz freigegeben wird. Es kann jedoch vorkommen, dass die Datei von einem Prozess gesperrt wird oder ein Prozess weiterhin Daten in die Datei schreibt. Wenn Sie den Speichermechanismus und die Speicherstruktur von Dateien unter Linux verstehen, werden Sie dieses Problem verstehen. Dateien im Linux-System sind in zwei Teile unterteilt: den Zeigerteil und den Datenteil.
Der Grund, warum der Speicherplatz nach dem Löschen der Dubbo-Protokolldatei nicht freigegeben wird, liegt darin, dass der Dubbo-Prozess immer noch Daten in diese Datei schreibt. Wenn die Datei gelöscht wird, wird der Zeiger nicht aus den Metadaten gelöscht, sodass die Protokolldatei immer noch Speicherplatz belegt. So finden Sie solche Dateien Mit dem Befehl lsof können Sie eine Liste der Dateien abrufen, die gelöscht wurden, aber noch vom Programm belegt sind: lsof | grep löschen So geben Sie diesen Speicherplatz frei Es gibt viele Möglichkeiten, diese Art von Problem zu lösen und Speicherplatz freizugeben: Starten Sie den belegten Prozess neu, starten Sie das Betriebssystem neu und verwenden Sie Befehle. Die ersten beiden Methoden eignen sich am besten für Nicht-Produktionsumgebungen. Versuchen Sie jedoch, für Produktionsumgebungen Befehle zu verwenden, die eigentlich sehr einfach sind: echo " " >/home/dubbo/log/xxx.log Auf diese Weise wird der belegte Speicherplatz freigegeben, ohne die weitere Ausführung des Prozesses zu beeinträchtigen. Damit ist der Artikel zum Umgang mit dem Problem gelöschter Dateien, aber nicht freigegebenem Speicherplatz in Linux abgeschlossen. Weitere Informationen zum Löschen von Linux-Dateien ohne nicht freigegebenen Speicherplatz finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: Detaillierte Erklärung der MySQL/Java-Server-Unterstützung für Emoji und Problemlösung
>>: Lösung für unvollständige Textanzeige im El-Tree
Installieren Sie zunächst PHP5 ganz einfach yum i...
1. Hintergrund Ich habe vor Kurzem eine Website n...
Inhaltsverzeichnis Vorwort Prototypische Vererbun...
Inhaltsverzeichnis 1. Einleitung 2. Installation ...
Der Link-In-Stil besteht darin, alle Stile in ein...
Awk ist ein leistungsfähiges Tool, das einige Auf...
1. Erstellen Sie eine Datenbank: Daten erstellen ...
Dieser Artikel veranschaulicht anhand eines Beisp...
Inhaltsverzeichnis Master-Master-Synchronisierung...
Inhaltsverzeichnis Was ist die Listener-Eigenscha...
<div Klasse="Box"> <img /> ...
Vorwort Vor einiger Zeit ist bei mir ein MySQL-De...
Wort Seit der ersten Version von MySQL 8.0 liegen...
Bevor wir über die CSS-Priorität sprechen, müssen...