GNU/Linux >> Linux Esercitazione >  >> Linux

Come controllare lo spazio libero su disco su Linux

Questo tutorial illustra i modi per controllare lo spazio su disco su Linux utilizzando la riga di comando o gli strumenti grafici.

In qualità di amministratore di sistema, vuoi sempre assicurarti di spazio sufficiente per l'esecuzione dei tuoi host.

Fortunatamente per te, ci sono molti comandi che puoi usare per controllare lo spazio su disco su Linux .

Controllare lo spazio su disco è essenziale:se non lo controlli, potresti non essere in grado di connetterti al tuo host o di eseguire comandi su di esso.

Di conseguenza, vedremo come puoi controllare lo spazio su disco , ma anche come puoi monitorarlo per assicurarti di non essere troppo in ritardo.

Controlla spazio su disco su Linux usando df

Il modo più semplice e diffuso per controllare lo spazio su disco è eseguire il comando df.

$ df <options>

Se esegui il comando "df", questo è l'output che otterresti.

ubuntu:~$ df
Filesystem     1K-blocks     Used Available Use% Mounted on
udev             2007152        0   2007152   0% /dev
tmpfs             403960      716    403244   1% /run
/dev/vda1       81120644 31236604  49867656  39% /
tmpfs            2019792        0   2019792   0% /dev/shm
tmpfs               5120        0      5120   0% /run/lock
tmpfs            2019792        0   2019792   0% /sys/fs/cgroup
/dev/vda15        106858     3668    103190   4% /boot/efi
tmpfs             403956        0    403956   0% /run/user/0
tmpfs             403956        0    403956   0% /run/user/1000

Per impostazione predefinita, il comando df mostra sei colonne:

  • Filesystem :il nome del filesystem che può essere uguale al nome della partizione sul tuo filesystem (/dev/vda1 o /dev/sda1 per esempio);
  • 1K-blocchi :il numero di blocchi sul filesystem di dimensione 1Kb. /dev/vda1 contiene 81120644 blocchi da 1K, ha 81120644000 byte o 78,5 gigabyte di spazio in totale;
  • Usato :il numero di blocchi da 1K utilizzati nel filesystem;
  • Disponibile :il numero di 1K-blocchi disponibili per il filesystem;
  • Utilizza % :la percentuale di disco utilizzata nel filesystem;
  • Montato su :il punto di montaggio utilizzato per montare il filesystem.

Come puoi vedere, l'output del comando df non è molto leggibile o user-friendly.

Contare il numero di blocchi da 1K non è molto utile se vuoi controllare lo spazio su disco sui tuoi sistemi Linux.

Controlla lo spazio su disco in formato leggibile dall'uomo

Fortunatamente per te, c'è un'opzione che puoi fornire al comando df per riorganizzare l'output finale.

Per controllare lo spazio su disco in modo leggibile dall'uomo, devi utilizzare il flag "-h".

$ df -h

Filesystem      Size  Used Avail Use% Mounted on
udev            2.0G     0  2.0G   0% /dev
tmpfs           395M  716K  394M   1% /run
/dev/vda1        78G   30G   48G  39% /
tmpfs           2.0G     0  2.0G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/vda15      105M  3.6M  101M   4% /boot/efi
tmpfs           395M     0  395M   0% /run/user/0
tmpfs           395M     0  395M   0% /run/user/1000

Come puoi vedere, invece di mostrare il numero di blocchi da 1K sui tuoi filesystem, ti viene presentata la dimensione totale dei tuoi filesystem.

Invece di dover eseguire la conversione da solo, puoi vedere direttamente che il tuo disco ha una dimensione di 78 GB, che ha 30 GB utilizzati e che 48 GB sono ancora disponibili.

Tieni presente che l'opzione "-h" fornisce dimensioni in potenze di 1024.

Se vuoi calcolare le dimensioni totali usando potenze di 1000 , dovrai utilizzare l'opzione “-H”.

$ df -H

udev            2.1G     0  2.1G   0% /dev
tmpfs           414M  734k  413M   1% /run
/dev/vda1        84G   32G   52G  39% /
tmpfs           2.1G     0  2.1G   0% /dev/shm
tmpfs           5.3M     0  5.3M   0% /run/lock
tmpfs           2.1G     0  2.1G   0% /sys/fs/cgroup
/dev/vda15      110M  3.8M  106M   4% /boot/efi
tmpfs           414M     0  414M   0% /run/user/0
tmpfs           414M     0  414M   0% /run/user/1000

Nella maggior parte dei casi, potresti voler attenerti all'opzione "-h" in quanto sarai in grado di vedere la dimensione "reale" disponibile sui tuoi filesystem.

Controlla lo spazio su disco specifico del filesystem

In alcuni casi, potresti voler limitare la tua ricerca a filesystem specifici sul tuo host.

Per controllare lo spazio su disco per un filesystem specifico, devi eseguire il comando seguente

$ df <options> <path>

Ad esempio, per controllare le informazioni del disco relative al mountpoint root, dovresti eseguire

$ df -h /

Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        78G   30G   48G  39% /

In alcuni casi, potresti voler dare un'occhiata a campi specifici sull'output.

Per ottenere questo risultato, aggiungi semplicemente un flag "–output" ai tuoi comandi.

$ df -h --output='field1','field2' /

Ad esempio, per mostrare solo le dimensioni e la percentuale di utilizzo, dovresti eseguire

$ df -h --output='size','pcent' /

Size Use%
78G  39%

Ecco un elenco di tutte le colonne disponibili per il filtraggio con il comando df:'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent', 'size', 'used', 'avail' , 'pcent', 'file' e 'target'

Controlla l'utilizzo degli inode su Linux

In alcuni casi molto specifici, potrebbe essere necessario controllare l'utilizzo dell'inode sui filesystem Linux.

Perché dovresti verificare l'utilizzo dell'inode?

Come abbiamo scoperto nell'articolo sugli hard link e sui soft link, i file sono strettamente accoppiati con gli inode sul filesystem.

Hai anche appreso che il tuo sistema sta gestendo una tabella di inode in cui le voci puntano a blocchi di dati sul tuo disco fisico.

Tuttavia, questa tabella di inode ha dimensioni limitate:di conseguenza, potresti esaurire le voci di inode prima di esaurire lo spazio su disco.

In breve, se il tuo sistema gestisce già troppi file (piccoli o meno), non sarà in grado di allocare più spazio ai nuovi file, anche se il tuo disco ha 30 GB disponibili.

Per controllare l'utilizzo degli inode su Linux, aggiungi il flag "–inodes" al comando "df".

$ df --inodes

Filesystem       Inodes  IUsed    IFree IUse% Mounted on
udev             501788    384   501404    1% /dev
tmpfs            504948    617   504331    1% /run
/dev/vda1      10321920 320672 10001248    4% /
tmpfs            504948      1   504947    1% /dev/shm
tmpfs            504948      4   504944    1% /run/lock
tmpfs            504948     18   504930    1% /sys/fs/cgroup
/dev/vda15            0      0        0     - /boot/efi
tmpfs            504948     19   504929    1% /run/user/0
tmpfs            504948     10   504938    1% /run/user/1000

Allo stesso modo, puoi controllare l'utilizzo degli inode in modo leggibile specificando l'opzione "-h".

$ df -h --inodes /

Filesystem     Inodes IUsed IFree IUse% Mounted on
/dev/vda1        9.9M  314K  9.6M    4% /

In questa sezione hai imparato come controllare lo spazio su disco usando df.

Tuttavia, se desideri controllare l'utilizzo del disco per directory e file, utilizzerai il comando "du".

Controlla lo spazio su disco su Linux usando du

Il comando du sta per "utilizzo del disco" e viene utilizzato per avere informazioni sull'utilizzo del disco relative a directory e file sul tuo sistema.

$ du <option> <path|file>

$ du <option> <path1> <path2> <path3>

Come specificato, puoi avere l'utilizzo del disco per un file specifico o per un percorso sul sistema.

Verifica utilizzo disco file

Per verificare l'utilizzo del disco di un file specifico, aggiungi semplicemente il nome del file al comando du.

Ad esempio, per controllare la dimensione del file .bashrc, eseguire

$ du ~/.bashrc
4       /home/schkn/.bashrc

Per impostazione predefinita, le dimensioni vengono visualizzate in kilobyte, ma puoi modificare la visualizzazione predefinita specificando un formato dimensione con l'opzione "-B".

$ du -BM ~/.bashrc
1M      /home/schkn/.bashrc

Si noti che le dimensioni verranno arrotondate al numero intero più vicino. In questo caso, il file .bashrc non ha una dimensione di 1 Mb, ma è stato arrotondato automaticamente.

Puoi anche scegliere di visualizzare le dimensioni in un formato leggibile dall'uomo, verificando che le dimensioni siano effettivamente visualizzate in kilobyte.

$ du -h ~/.bashrc
4.0K    /home/schkn/.bashrc

L'opzione “-h” può essere combinata con l'opzione “–apparent-size” per ottenere la dimensione reale di un file senza arrotondamenti.

$ du -h --apparent-size ~/.bashrc
3.7K    /home/schkn/.bashrc

Controlla l'utilizzo del disco della directory

D'altra parte, puoi controllare l'utilizzo del disco della directory specificando un percorso per il comando du.

Ad esempio, se stai cercando l'utilizzo del disco per tutte le home directory sul filesystem, dovresti eseguire

$ du /

0       /sys/kernel/slab/:d-0002048/cgroup
0       /sys/kernel/slab/:d-0002048
0       /sys/kernel/slab/:A-0000704/cgroup/files_cache(74510:logstash.service)
0       /sys/kernel/slab/:A-0000704/cgroup/files_cache(96484:systemd-udevd.service)
0       /sys/kernel/slab/:A-0000704/cgroup/files_cache(70164:kibana.service)

Tuttavia, in alcuni casi, non vuoi vedere l'output per ogni singolo file o directory nel percorso, ma piuttosto un totale per il percorso specificato.

Per verificare l'utilizzo totale del disco per un determinato percorso, utilizzare "du" con l'opzione "-shc".

In alcune directory, dovrai disporre dei privilegi sudo (su Debian/Ubuntu o su RHEL/CentOS)

$ sudo du -shc /home

2.8G    /home
2.8G    total

$ sudo du -shc /home /var/log
2.8G    /home
15G     /var/log
18G     total

Ecco una ripartizione delle opzioni utilizzate:

  • -s :per riepilogare, visualizzerà un totale per ogni percorso fornito invece dell'elenco completo di ogni singolo file e directory in esso contenuto;
  • -c :per il totale generale, se specifichi più percorsi, li sommerà per produrre un totale generale per loro;
  • -h :per la lettura umana, visualizzerà i risultati con le unità.

Controlla lo spazio su disco utilizzando i caratteri jolly

In alcuni casi, potresti voler avere l'utilizzo del disco per tutti i tuoi file di testo o tutte le tue immagini.

Fortunatamente per te, puoi utilizzare i caratteri jolly per filtrare gli articoli restituiti dal comando du.

Ad esempio, per cercare tutte le immagini sul tuo sistema e lo spazio su disco che utilizzano, dovresti eseguire

Per avere lo spazio su disco utilizzato da tutti i tuoi file PNG sul tuo sistema, puoi associare il comando find con il comando du.

$ find / -name *.png 2> /dev/null | xargs du -ch

8.0K    /usr/share/grafana/public/app/plugins/datasource/graphite/img/graphite_logo.png
44K     /usr/share/grafana/public/app/plugins/app/example-app/img/logo.png
4.0K    /usr/share/grafana/public/img/fav32.png
12K     /usr/share/grafana/public/img/mstile-150x150.png
34M     total

Allo stesso modo, puoi cercare file di testo sul tuo sistema usando lo stesso carattere jolly.

find / -name *.txt 2> /dev/null | xargs du -ch

4.0K    /usr/lib/vendor/tensorboard-1.12.2.dist-info/top_level.txt
4.0K    /usr/lib/vendor/urllib3-1.24.1.dist-info/LICENSE.txt
4.0K    /usr/lib/vendor/urllib3-1.24.1.dist-info/top_level.txt
22M     total

Se invece vuoi escludere alcuni pattern, è possibile anche con il comando du e l'opzione “–exclude”.

 $ du --exclude='*.o'

Controlla lo spazio su disco su Linux usando pydf

Il du e df i comandi sono molto popolari tra gli amministratori di sistema.

Tuttavia, il comando pydf può essere utile anche se stai cercando uno strumento di utilità del disco che visualizzi le informazioni in modo intuitivo.

Per installare pydf , devi essere sudo sul tuo host.

Per verificarlo, esegui il seguente comando.

$ sudo -l

User <user> may run the following commands on user-ubuntu:
    (ALL : ALL) ALL

Quindi, a seconda della tua distribuzione, esegui uno dei seguenti comandi per installare pydf.

$ sudo apt-get install pydf    [For Ubuntu / Debian ]
$ sudo yum install pydf        [For RHEL / CentOS ]

Quindi, quando pydf è installato, esegui il comando e fornisci il punto di montaggio che desideri ispezionare.

$ pydf
Filesystem Size  Used Avail Use%                            Mounted on
/dev/vda1   77G   30G   48G 38.5 [#########...............] /
/dev/vda15 104M 3668k  101M  3.4 [#.......................] /boot/efi

$ pydf /
Filesystem Size Used Avail Use%                             Mounted on
/dev/vda1   77G  30G   48G 38.5 [##########...............] /

Controlla spazio su disco su GNOME

Nei moderni ambienti desktop grafici, ti viene anche fornita una serie di strumenti che analizzano il tuo disco al fine di fornire statistiche sull'utilizzo del disco.

Uno di questi è chiamato Analizzatore di utilizzo del disco .

L'analizzatore di utilizzo del disco, integrato in GNOME 3.30 per impostazione predefinita, è uno strumento grafico che analizza l'utilizzo del disco sul sistema e il modo in cui è distribuito tra le diverse cartelle.

Per aprire l'analizzatore di utilizzo del disco, vai al pannello Attività in GNOME.

Nel pannello Attività, cerca "Analizzatore utilizzo disco “.

Ti dovrebbe essere presentata la seguente opzione, fai clic su di essa per avviare la DUA.

Nella sezione "Dispositivi e posizioni ", dovresti vedere la tua home directory e i tuoi diversi dischi.

In Disk Usage Analyzer, hai la possibilità di scansionare una cartella o ispezionare un intero disco.

Scansione cartella su GNOME

Per eseguire la scansione di una cartella specifica, fare clic su "Scansione cartella... ” nell'angolo in alto a sinistra della finestra.

Nella finestra successiva, sei libero di scegliere la cartella che desideri ispezionare.

Seleziona la tua home directory e fai clic su "Apri ” per avviare l'analisi del disco.

Nella finestra successiva, dovresti vedere un'analisi completa del disco per la cartella selezionata.

Puoi navigare tra le diverse cartelle per vedere come è distribuito lo spazio nelle tue diverse cartelle.

A lato è presente anche un grafico distributivo e interattivo.

Disk Usage Analyzer è un ottimo strumento se non hai molta dimestichezza con la riga di comando e se vuoi avere una rappresentazione grafica dell'utilizzo del tuo disco.

Ora che sai come controllare lo spazio su disco su GNOME, vediamo come puoi ottenere lo stesso risultato su KDE.

Controlla spazio su disco su KDE

Per illustrare questo capitolo, useremo una nuova distribuzione Kubuntu 19.10.

Per cercare la distribuzione dello spazio su disco su KDE, installerai Filelight .

$ sudo apt-get install filelight   [Ubuntu / Debian ]

$ sudo yum install filelight       [CentOS / RHEL]

Filelight è un'applicazione grafica che mostra anche l'utilizzo del disco su cartelle o dischi specifici.

Per avviare Filelight, esegui semplicemente il comando "filelight" in una console terminale.

$ filelight

Per impostazione predefinita, Filelight si aprirà e visualizzerà lo spazio utilizzato per la partizione di root in %Used vs %Free.

Se hai bisogno di una distribuzione più precisa, premi "Scansione ” nell'angolo in alto a sinistra dell'applicazione e seleziona “Scansione cartella principale”.

Dopo un po' dovresti essere in grado di vedere un'analisi completa della tua partizione di root.

Tieni presente che devi eseguire filelight come utente sudo per evitare problemi di autorizzazione durante l'ispezione delle cartelle sulla partizione di root.

Monitoraggio dello spazio su disco in tempo reale

In alcuni casi, potrebbe essere necessario avere un monitoraggio in tempo reale e in tempo reale dei tuoi dischi.

Ecco alcune opzioni che puoi utilizzare per monitorare i tuoi spazi su disco :

  • Implementa Prometheus con Node Exporter e il raccoglitore "filesystem".

Ricordiamo che Node Exporter è un esportatore che espone le metriche host al database delle serie temporali di Prometheus. Il raccoglitore "filesystem" è specializzato nell'aggregare dati sull'utilizzo del disco per tutte le distribuzioni.

Se hai bisogno di una guida per Node Exporter, assicurati di leggere il nostro articolo dedicato.

Inoltre, se hai bisogno di una guida per installare Prometheus correttamente, assicurati di leggere la nostra guida a riguardo.

  • Implementa InfluxDB e Telegraf con il plug-in di input "Disco".

Un'altra alternativa è implementare lo stack TIG e abilitare il plug-in di input "Disco" specializzato nel monitoraggio dell'utilizzo del disco su sistemi Linux.

Per impostare Telegraf, InfluxDB e Grafana , leggi la nostra guida dettagliata.

Inoltre, assicurati di leggere la documentazione dettagliata del plug-in di input del disco su Github.

Conclusione

In questo tutorial dettagliato, hai imparato come controllare e monitorare lo spazio su disco su Linux.

Hai imparato a conoscere le utilità della riga di comando come "df" e "du ” e le opzioni a tua disposizione.

Hai anche imparato che puoi monitorare lo spazio su disco utilizzando strumenti moderni:grafici (Filelight o Disk Usage Analyzer) o piattaforme (come Prometheus o InfluxDB).

Se sei curioso di conoscere L'amministrazione del sistema Linux , abbiamo una sezione dedicata ad esso sul sito :assicurati di controllarla per non perderti una guida.


Linux
  1. Usa df per controllare lo spazio libero su disco su Linux

  2. Controlla lo spazio su disco utilizzato su Linux con du

  3. Come liberare spazio su disco su un server dedicato

  4. Come controllare lo spazio su disco in Ubuntu 20.04 e 20.10?

  5. Procedura:liberare spazio su disco riducendo i blocchi riservati

Comando Df in Linux (Controlla spazio su disco)

Come controllare l'utilizzo della memoria in Linux

Come controllare l'utilizzo dello spazio su disco in Linux utilizzando Ncdu

Come controllare lo spazio libero su disco su Linux [Metodi terminale e GUI]

Come controllare lo spazio di scambio in Linux

Comando Linux df per controllare lo spazio su disco