df -h zeigt / ist 100 %, aber du -sh * zeigt nicht an, wo die Nutzung ist

df -h zeigt / ist 100 %, aber du -sh * zeigt nicht an, wo die Nutzung ist

Betriebssystem: Oracle Linux 7.5

df -h zeigt immer an, dass / zu 100 % voll ist, aber die Suche nach / mit du -sh * zeigt nicht, wo diese Auslastung liegen könnte. Jede Hilfe und jeder Vorschlag ist willkommen. Ich kann lsof auch nicht installieren, da es ein Platzproblem gibt.

[root@ /]# df -h
Filesystem                                    Size  Used Avail Use% Mounted on
devtmpfs                                       32G     0   32G   0% /dev
tmpfs                                          32G   14M   32G   1% /dev/shm
tmpfs                                          32G  1.3G   31G   4% /run
tmpfs                                          32G     0   32G   0% /sys/fs/cgroup
/dev/sda3                                      50G   48G     0 100% /
/dev/sda1                                     976M  208M  702M  23% /boot
/dev/sda2                                     469G   75M  445G   1% /home
//hidden                                       11T  8.5T  2.4T  79% /mnt/buffalo
/dev/sdb                                      2.7T  632G  2.0T  25% /rsv


[root@santo /]# du -sh *
0       bin
206M    boot
14M     dev
38M     etc
2.1M    home
0       lib
0       lib64
16K     lost+found
4.0K    media
4.0K    mnt
28K     opt
0       proc
11M     root
632G    rsv
1.3G    run
0       sbin
4.0K    srv
0       sys
32K     tmp
2.3G    usr
755M    var

Antwort1

Es könnte sich um ein Verzeichnis handeln, das mit beginnt ..

Versuchen Sie du --max-depth 1 --one-file-system /es damit, es zeigt die Verzeichnisse der obersten Ebene an und überschreitet keine Einhängepunkte.

Z.B

# du --max-depth 1 --one-file-system --human-readable / | sort -h
4.0K    /media
4.0K    /srv
16K     /lost+found
20K     /mnt
488K    /tmp
14M     /SFTP
29M     /etc
72M     /boot
245M    /root
1.7G    /opt
3.7G    /var
5.7G    /usr
22G     /home
34G     /

Antwort2

Einige dieser Aufgaben können Sie lsofmit einem Befehl wie dem folgenden erledigen.

find /proc/*/map_files -ls | grep '(deleted)'

Die Namen der in dieser Ausgabe gemeldeten Symlinks enthalten hexadezimale Bereiche, die in einigen Fällen Dateigrößen entsprechen können. /In diesem Zusammenhang sind wahrscheinlich nur Symlink-Ziele innerhalb Ihres gesamten Dateisystems ( ) relevant. Es kann insbesondere nützlich sein, nach nicht verknüpften offenen Dateien in zu suchen /var/log.

Wenn Sie auf diese Weise eine verdächtige, nicht verknüpfte geöffnete Datei finden, sollte ihr Name die Prozess-ID des Prozesses enthalten, der sie geöffnet hat. Durch Beenden dieses Prozesses (oder Neustart) sollte der von dieser Datei belegte Speicherplatz freigegeben werden.

Ein weiterer Ort, an dem Sie nach verstecktem Speicherplatz suchen können, neben nicht verknüpften offenen Dateien (die lsofes melden kann, wenn es installiert ist), sind Einhängepunkte. Wenn ein anderes Volume über einem nicht leeren Einhängepunkt eingehängt wird, wird die Datenträgernutzung unter diesem Einhängepunkt nicht von gemeldet du.

Wenn es nicht praktisch ist, ein Volume auszuhängen, kann man möglicherweise herausfinden, was sich unter einem Einhängepunkt befindet, indem man /es über NFS exportiert, einhängt und duim NFS-Mount ausführt. Das sollte funktionieren, sofern der NFS-Server keine Daten von anderen Volumes in seine Exporte einbezieht. Dieser Ansatz ist möglicherweise nicht hilfreich, wenn zusätzliche Pakete installiert werden müssen.

verwandte Informationen