df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 30830588 22454332 6787120 77% /
none 4 0 4 0% /sys/fs/cgroup
udev 1014124 4 1014120 1% /dev
tmpfs 204996 336 204660 1% /run
none 5120 0 5120 0% /run/lock
none 1024976 0 1024976 0% /run/shm
none 102400 0 102400 0% /run/user
Diese 77% waren gestern nur 60% und werden sich in wenigen Tagen zu 100% füllen.
Ich habe jetzt eine Weile Filessizes überwacht:
sudo du -sch /*
9.6M /bin
65M /boot
224K /build
4.0K /dev
6.5M /etc
111M /home
0 /initrd.img
0 /initrd.img.old
483M /lib
4.0K /lib64
16K /lost+found
8.0K /media
4.0K /mnt
4.0K /opt
du: cannot access ‘/proc/21705/task/21705/fd/4’: No such file or directory
du: cannot access ‘/proc/21705/task/21705/fdinfo/4’: No such file or directory
du: cannot access ‘/proc/21705/fd/4’: No such file or directory
du: cannot access ‘/proc/21705/fdinfo/4’: No such file or directory
0 /proc
21M /root
336K /run
12M /sbin
8.0K /srv
4.1G /swapfile
0 /sys
4.0K /tmp
1.1G /usr
7.4G /var
0 /vmlinuz
0 /vmlinuz.old
14G total
Es gibt mir (mehr oder weniger) jeden Tag die gleichen Zahlen. Diese 14-GB-Summe ist weniger als die Hälfte der Festplattengröße. Wohin geht der Rest?
Meine Linux-Kenntnisse gehen nicht viel tiefer.
Können Dateien hier nicht angezeigt werden? Ist es möglich, den Platz anderweitig zu vergeben?
filesystem
disk-usage
Knistern
quelle
quelle
/var
mir ungewöhnlich groß vor. Ich vermute, eine Protokolldatei füllt sich schnell.lsof -b 2>/dev//null | grep deleted
(die Ausgabe könnte ziemlich groß sein, verwerfen Sie iterativ Einträge, die indu
.Antworten:
Wenn sich der Speicherplatz auf der Festplatte unsichtbar vergrößert, werden wahrscheinlich Dateien gelöscht. Wenn Sie unter Windows versuchen, eine von etwas geöffnete Datei zu löschen, wird eine Fehlermeldung angezeigt. Unter Linux wird die Datei als gelöscht markiert, die Daten bleiben jedoch erhalten, bis die Anwendung loslässt. In einigen Fällen kann dies als eine einfache Möglichkeit zum Bereinigen nach sich selbst verwendet werden. Anwendungsabstürze verhindern nicht, dass temporäre Dateien bereinigt werden.
So zeigen Sie gelöschte, noch verwendete Dateien an:
Möglicherweise haben Sie eine große Anzahl gelöschter Dateien - das ist an sich kein Problem. Eine einzelne gelöschte Datei wird groß und ist ein Problem.
Ein Neustart sollte dieses Problem beheben. Wenn Sie jedoch keinen Neustart durchführen möchten, überprüfen Sie die betroffenen Anwendungen (erste Spalte in der
lsof
Ausgabe) und starten Sie sie neu oder schließen Sie sie.Wenn Sie jemals etwas sehen wie:
Wenn die Anwendung und die gelöschten Dateien identisch sind, bedeutet dies wahrscheinlich, dass die Anwendung aktualisiert wurde. Sie können diese als Quelle für die Verwendung großer Festplatten ignorieren (aber Sie sollten das Programm trotzdem neu starten, damit Fehlerkorrekturen angewendet werden).
Dateien in
/dev/shm
sind Shared Memory-Objekte und belegen nicht viel Platz auf der Festplatte (höchstens eine Inode-Nummer, denke ich). Sie können auch ignoriert werden. Die genannten DateienvteXXXXXX
sind Protokolldateien von einem VTE-basierten Terminalemulator (wie GNOME Terminal, Terminator usw.). Dies könnte groß sein, wenn Sie ein Terminal - Fenster mit haben viele (und ich meine viel ) von Sachen ausgegeben wird .quelle
Um die ausgezeichnete Antwort von muru zu ergänzen:
Vielleicht mit du , was du nicht sehen , ist das Auftreten von vielen, vielen kleinen Dateien ... (Blick auf die letzte Spalte
df -i
und sehen , ob die Anzahl der Inodes (dh von Dateien) erhöht eine Menge Überstunden zu)Wenn Sie beispielsweise 1'000'000 (1 Million) winzige 1-Byte-Dateien haben,
du
wird dies als 1'000'000 Byte-Gesamtzahl gewertet, sagen wir 1 MB (... Puristen, bitte nicht zusammenzucken).Aber auf der Festplatte besteht jede Datei aus zwei Dingen:
Auf diese Weise belegen eine Million Dateien und 1-Byte-Dateien den
1'000'000'000 * size_of_a_block
gesamten Speicherplatz für die Daten sowie1'000'000'000 * size_of_an_inode
die Größe des Inodes. Dies kann bei einer Million "1-Byte" -Dateien zu einem Festplattenverbrauch von mehreren GB führen.Wenn Sie 1024-Byte-Blöcke und weitere 256 Byte Inode-Größe haben, werden Ihre 1'000'000 Dateien als ungefähr 1 MB groß gemeldet
du
, aber als ungefähr 1,25 GB auf der Festplatte (wie von gesehendf
)! (oder sogar 2 GB, wenn sich jeder Inode auch auf einem dedizierten Plattenblock befinden muss ... ich weiß nicht, ob das der Fall ist)quelle
-b
oder--apparent-size
) verwenden,du
mit der die scheinbare Größe einer Datei angegeben wird,du
wird in der Tat immer die Größe der Datei auf der Festplatte angezeigt (Gesamtanzahl der verwendeten Blöcke mal Blockgröße). Dies kann in der Tat entweder größer (im Normalfall) oder kleiner (im Fall von Dateien mit geringer Dichte) sein als die scheinbare Größe der Datei.Wenn
/dev/vda1
es voll ist, kann dies an Jenkins oder Docker (oder Ähnlichem) liegen, und Sie müssen möglicherweise denlsof
Befehl verwenden, um Protokolle zu bereinigen und die Größe festzulegen .quelle