GNU/Linux
Controlla spazio su disco
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