Wie kann ich überprüfen, was Speicherplatz in / tmp beansprucht?

8

Ich arbeite an einem externen Server - mache dort nur eine Web-API. Als ich heute api php verwenden wollte, gab ich folgenden Fehler zurück:

Unknown: write failed: No space left on device (28)

Also habe ich herausgefunden, dass tmp voll ist:

~# df -h /tmp
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       102G   97G     0 100% /

Also muss ich wohl etwas Müll in tmp räumen - aber zuerst möchte ich wissen, was das Problem verursacht, ich meine, was braucht so viel Speicher in tmp? Vielleicht überschwemmt etwas irgendwie tmp dir? Ich bin kein Experte für Systemadministration. Ich schreibe nur eine Web-API. Ist es normal, dass die MPM-Größe überschritten wird? Vielleicht passiert es nur von Zeit zu Zeit?

Das Befehlsergebnis:

du -sh /tmp/* | sort -h
0       /tmp/tmpEZIyDT
0       /tmp/unity_support_test.0
4.0K    /tmp/amazoncookie.txt
4.0K    /tmp/at-spi2
4.0K    /tmp/filewhHOLH
4.0K    /tmp/keyring-b3ZOTY
4.0K    /tmp/mc-domator
4.0K    /tmp/mc-root
4.0K    /tmp/pulse-2L9K88eMlGn7
4.0K    /tmp/pulse-PKdhtXMmr18n
4.0K    /tmp/ssh-thimUVhk2748
8.0K    /tmp/pulse-5N1YM8s2cT0i

Seltsam - da ich nicht viel in tmp dir verstehe ... nimmt vielleicht etwas anderes so viel Speicherplatz in Anspruch - wie kann ich das überprüfen?

user166241
quelle

Antworten:

9

Der erste Befehl gibt an, dass sich / tmp tatsächlich im selben Dateisystem befindet wie / (dh alles andere). Wenn Ihre Root-Partition voll ist, kann es sein, dass andere Dinge (wie / var / log) Speicherplatz beanspruchen.

Eine anständige Art, Dinge zu finden, ist zu tun

du -sc * .[^.]* | sort -n

um herauszufinden, welche Verzeichnisse groß sind. Dann können Sie weiter in niedrigere Verzeichnisse cd und den Befehl erneut ausführen, um die Dinge einzugrenzen.

Alan Shutko
quelle
1
Führen Sie eine schnelle Überprüfung des Inhalts von /var/log/- Wenn ein Programm Gigabyte nicht überwachter Fehler ausgegeben hat, kann dies ein Laufwerk schnell füllen.
Darth Android
danke - es war eine gute Idee, nach versteckten Dateien zu suchen - das Problem war eine riesige Datei ".xsession-error" in dem Home-Verzeichnis einiger Benutzer - für den
Moment habe
3

Auf einer aktuellen Distribution:

du -sh /tmp/* | sort -h

Auf einer älteren Distribution:

du -csm /tmp/* | sort -n
Gilles Quenot
quelle
Ich habe den Beitrag bearbeitet - das Ergebnis des ersten Befehls ist seltsam ...
user166241
2

Überprüfen Sie, ob Ihnen nicht die Inodes ausgegangen sind.

# df -i
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/sda3            1236992 1236992       0  100% /
tmpfs                1007716       1 1007715    1% /dev/shm
/dev/sda1              38456      45   38411    1% /boot
Zuzu
quelle
Der obige Kommentar dient als Referenz für Personen mit demselben Problem
Zuzu,
0

Das habe ich in meinem Bashrc. Sie erhalten eine gute Vorstellung davon, was "groß" ist, und können dann von dort aus nachforschen. Verwenden Sie es, wenn wir Benutzer haben, die die Systeme / tmp anstelle unseres gemeinsam genutzten tmp-Bereichs verwenden möchten.

function get_big_usage () {
    echo -e "\n"
    du -ks /tmp/* | sort -nr | head
    echo -e "\n"
    du -ks /var/* | sort -nr | head
    echo -e "\n"
    du -ks /home/* | sort -nr | head
}
user757053
quelle