Ricerca…


Controllo dello spazio su disco

È abbastanza comune voler controllare lo stato delle varie partizioni / unità sul proprio server / computer per vedere quanto sono complete. Il seguente comando è quello che desideri eseguire:

df -h

Questo produrrà un output simile al seguente:

[root@mail ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                       19G  1.6G   16G   9% /
tmpfs                 245M     0  245M   0% /dev/shm
/dev/sda1             485M   47M  413M  11% /boot

In questo esempio di base, possiamo vedere che la partizione / ha solo il 9% utilizzato.

Per un esempio più complesso che copre anche l'uso di df per vedere vari punti di mount, vedi sotto:

[root@mail ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VG-root   1.9T  1.7T   89G  95% /
/dev/mapper/VG-var    431G  145G  264G  36% /var
devtmpfs              7.8G  204K  7.8G   1% /dev
tmpfs                 7.8G  4.0K  7.8G   1% /dev/shm
/dev/md1              495M  126M  344M  27% /boot
ku.example.com:9421   2.5T  487G  2.0T  20% /mnt/test
tmpfs                 500M   86M  415M  18% /var/ngx_pagespeed_cache

In questo esempio, abbiamo una partizione / che è piena al 95% insieme ad una partizione /var aggiuntiva che è piena solo del 36% .

Ha una connessione di rete esterna di 2T montata su /mnt/test e un supporto ramdisk / tmpfs di 500M montato su /var/ngx_pagespeed_cache .

Indagine sulle directory per l'utilizzo del disco

A volte può essere richiesto di scoprire quale directory consuma quanto spazio su disco specialmente quando si usa df -h e si è reso conto che lo spazio su disco disponibile è basso.

du:

du comando riepiloga l'utilizzo del disco dell'insieme di FILE, in modo ricorsivo per le directory.

Spesso viene utilizzato con l'opzione -sh :

-s, --summarize
              display only a total for each argument
-h, --human-readable
              print sizes in human readable format (e.g., 1K 234M 2G)

Per riassumere gli usi del disco dei file nella directory corrente utilizziamo:

du -sh *

Esempio di output:

572K    Documents
208M    Downloads
4,0K    Music
724K    Pictures
4,0K    Public
4,0K    Templates
4,0K    Videos

Possiamo anche includere file nascosti usando:

du -sh .[!.]* *

Esempio di output:

6,3M    .atom
4,0K    .bash_history
4,0K    .bash_logout
8,0K    .bashrc
350M    .cache
195M    .config
12K    .dbus
4,0K    .dmrc
44K    .gconf
60K    .gem
520K    .gimp-2.8
28K    .gnome
4,0K    .ICEauthority
8,3M    .local
8,0K    .nano
404K    .nv
36K    .pki
4,0K    .profile
8,0K    .ssh
0    .sudo_as_admin_successful
4,0K    .Xauthority
4,0K    .xsession-errors
4,0K    .xsession-errors.old
572K    Documents
208M    Downloads
4,0K    Music
724K    Pictures
4,0K    Public
4,0K    Templates
4,0K    Videos

In terzo luogo, puoi aggiungere un totale all'output aggiungendo, -c, opzione:

du -sch .[!.]* *

Risultato:

.
.
.
4,0K    Templates
4,0K    Videos
769M    total

La cosa più importante è usare il comando du correttamente nella directory root per salvare l'applicazione / servizio o l'utente che sta consumando il tuo spazio su disco. Ad esempio, in caso di un ridicolmente basso livello di disponibilità di spazio su disco per un server Web e di posta, il motivo potrebbe essere un attacco di posta indesiderata al servizio di posta elettronica e si può diagnosticare semplicemente utilizzando il comando du .

Indagine sulla directory root per l'utilizzo del disco:

sudo du -sch /.[!.]* /*

Esempio di output:

16K    /.VolumeIcon.icns
24K    /.VolumeIcon.png
13M    /bin
57M    /boot
4,0K    /cdrom
620K    /dev
13M    /etc
779M    /home
0    /initrd.img
406M    /lib
3,9M    /lib32
4,0K    /lib64
16K    /lost+found
4,0K    /media
4,0K    /mnt
367M    /opt
du: cannot access '/proc/18221/task/18221/fd/4': No such file or directory
du: cannot access '/proc/18221/task/18221/fdinfo/4': No such file or directory
du: cannot access '/proc/18221/fd/4': No such file or directory
du: cannot access '/proc/18221/fdinfo/4': No such file or directory
0    /proc
20K    /root
du: cannot access '/run/user/1000/gvfs': Permission denied
9,4M    /run
13M    /sbin
4,0K    /srv
0    /sys
72K    /tmp
3,5G    /usr
639M    /var
0    /vmlinuz
5,8G    total

Infine, il metodo migliore si forma quando si aggiunge un valore di dimensione di soglia per le directory in modo da ignorare quelli piccoli. Questo comando mostrerà solo le cartelle con più di 1 GB di dimensione che si trovano nella directory principale fino al ramo più lontano dell'intero albero delle directory nel tuo file system:

sudo du --threshold=1G -ch /.[!.]* /*

Esempio di output:

1,4G    /usr/lib
1,8G    /usr/share
3,5G    /usr
5,8G    total


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow