GNU/Linux >> Znalost Linux >  >> Linux

Jak zkontrolovat volné místo na disku v systému Linux

Tento výukový program pojednává o způsobech kontroly místa na disku v systému Linux pomocí příkazového řádku nebo grafických nástrojů.

Jako správce systému se vždy chcete ujistit, že máte dostatek místa aby vaši hostitelé běželi.

Naštěstí pro vás existuje spousta příkazů, které můžete použít ke kontrole místa na disku v Linuxu .

Kontrola místa na disku je zásadní:pokud jej nebudete monitorovat, možná se nebudete moci připojit k hostiteli nebo na něm provádět jakékoli příkazy.

V důsledku toho uvidíme, jak můžete zkontrolovat místo na disku , ale také jak to můžete sledovat abyste se ujistili, že nepřijdete příliš pozdě.

Zkontrolujte místo na disku v systému Linux pomocí df

Nejjednodušší a oblíbenější způsob, jak zkontrolovat místo na disku, je spustit příkaz df.

$ df <options>

Pokud spustíte příkaz „df“, toto je výstup, který byste dostali.

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

Ve výchozím nastavení příkaz df zobrazuje šest sloupců:

  • Systém souborů :název souborového systému, který se může shodovat s názvem oddílu ve vašem souborovém systému (například /dev/vda1 nebo /dev/sda1);
  • 1000 bloků :počet bloků na souborovém systému o velikosti 1Kb. /dev/vda1 obsahuje 81120644 1K-bloků, má 81120644000 bajtů nebo celkem 78,5 gigabajtů prostoru;
  • Použito :počet 1K-bloků použitých v souborovém systému;
  • K dispozici :počet 1K bloků dostupných pro souborový systém;
  • Použít % :procento disku použitého na souborovém systému;
  • Připevněno :přípojný bod použitý k připojení souborového systému.

Jak vidíte, výstup příkazu df není pro člověka příliš čitelný ani uživatelsky přívětivý.

Počítání počtu 1K bloků není příliš praktické, pokud chcete zkontrolovat místo na disku na systémech Linux.

Zkontrolujte místo na disku ve formátu čitelném pro člověka

Naštěstí pro vás existuje možnost, kterou můžete poskytnout příkazu df, abyste mohli změnit uspořádání konečného výstupu.

Chcete-li zkontrolovat místo na disku způsobem čitelným pro člověka, musíte použít příznak „-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

Jak můžete vidět, místo zobrazení počtu 1K bloků na vašich souborových systémech se vám zobrazí celková velikost vašich souborových systémů.

Místo toho, abyste museli provádět konverzi sami, můžete přímo vidět, že váš disk má velikost 78 G, že má využitých 30 GB a že 48 GB je stále k dispozici.

Všimněte si, že možnost „-h“ poskytuje velikosti v mocninách 1024.

Pokud chcete vypočítat celkové velikosti pomocí mocnin 1000 , budete muset použít možnost „-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

Ve většině případů se možná budete chtít držet možnosti „-h“, protože budete moci vidět „skutečnou“ velikost dostupnou na vašich souborových systémech.

Zkontrolujte konkrétní místo na disku souborového systému

V některých případech můžete chtít omezit vyhledávání na konkrétní souborové systémy na vašem hostiteli.

Chcete-li zkontrolovat místo na disku pro konkrétní souborový systém, musíte spustit následující příkaz

$ df <options> <path>

Chcete-li například zkontrolovat informace o disku související s kořenovým přípojným bodem, spusťte

$ df -h /

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

V některých případech se možná budete chtít podívat na konkrétní pole na výstupu.

Chcete-li dosáhnout tohoto výsledku, jednoduše připojte ke svým příkazům příznak „–output“.

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

Chcete-li například zobrazit pouze velikost a procento využití, spustíte

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

Size Use%
78G  39%

Zde je seznam všech sloupců dostupných pro filtrování pomocí příkazu df:'source', 'fstype', 'itotal', 'iused', 'iavail', 'ipcent', 'size', 'used', 'avail' , 'pcent', 'file' a 'target'

Zkontrolujte použití Inode v systému Linux

V některých velmi specifických případech možná budete muset zkontrolovat využití inodů na vašich linuxových souborových systémech.

Proč byste ověřovali použití inodu?

Jak jsme zjistili v článku o pevných a měkkých odkazech, soubory jsou v souborovém systému pevně spojeny s inody.

Také jste se dozvěděli, že váš systém spravuje tabulku inodů, kde položky ukazují na bloky dat na vašem fyzickém disku.

Tato tabulka inodů má však omezenou velikost:v důsledku toho vám mohou docházet položky inodů dříve, než vám dojde místo na disku.

Stručně řečeno, pokud váš systém již zpracovává příliš mnoho souborů (malých nebo ne), nebude schopen přidělit více místa novým souborům, i když má váš disk k dispozici 30 GB.

Chcete-li zkontrolovat využití inodů v systému Linux, přidejte k příkazu „df“ příznak „–inodes“.

$ 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

Podobně můžete zkontrolovat použití inodu způsobem čitelným pro člověka zadáním možnosti „-h“.

$ df -h --inodes /

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

V této části jste se naučili, jak můžete zkontrolovat místo na disku pomocí df.

Pokud však chcete zkontrolovat využití disku pro adresáře a soubory, použijete příkaz „du“.

Zkontrolujte místo na disku v systému Linux pomocí du

Příkaz du znamená „využívání disku“ a používá se k získání informací o využití disku souvisejících s adresáři a soubory ve vašem systému.

$ du <option> <path|file>

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

Jak je uvedeno, můžete mít buď využití disku pro konkrétní soubor, nebo pro cestu v systému.

Zkontrolujte využití disku souboru

Chcete-li zkontrolovat využití disku konkrétního souboru, stačí připojit název souboru k příkazu du.

Například pro kontrolu velikosti souboru .bashrc byste spustili

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

Ve výchozím nastavení se velikosti zobrazují v kilobajtech, ale výchozí zobrazení můžete změnit zadáním formátu velikosti pomocí možnosti „-B“.

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

Všimněte si, že velikosti budou zaokrouhleny na nejbližší celé číslo. V tomto případě není soubor .bashrc velký 1 Mb, ale byl automaticky zaokrouhlen.

Můžete si také zvolit, aby se velikosti zobrazovaly ve formátu čitelném pro člověka, abyste ověřili, že se velikosti skutečně zobrazují v kilobajtech.

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

Volbu „-h“ lze kombinovat s možností „–zdánlivá-velikost“, abyste získali skutečnou velikost souboru bez zaokrouhlování.

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

Zkontrolujte využití disku adresáře

Na druhou stranu můžete zkontrolovat využití disku adresáře zadáním cesty k příkazu du.

Pokud například hledáte využití disku pro všechny domovské adresáře v souborovém systému, spustíte

$ 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)

V některých případech však nechcete vidět výstup pro každý jednotlivý soubor nebo adresář na cestě, ale součet pro danou cestu.

Chcete-li zkontrolovat celkové využití disku pro danou cestu, použijte „du“ s volbou „-shc“.

V některých adresářích budete muset mít oprávnění sudo (na Debian/Ubuntu nebo na 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

Zde je rozpis použitých možností:

  • -s :pro shrnutí zobrazí součet pro každou poskytnutou cestu namísto úplného seznamu každého jednotlivého souboru a adresáře v ní;
  • -c :pro celkový součet, pokud zadáte více cest, sečte je, aby se pro ně vytvořil celkový součet;
  • -h :pro lidskou čitelnost zobrazí výsledky s jednotkami.

Zkontrolujte místo na disku pomocí zástupných znaků

V některých případech můžete chtít, aby byl disk využit pro všechny textové soubory nebo všechny obrázky.

Naštěstí pro vás můžete použít zástupné znaky za účelem filtrování položek vrácených příkazem du.

Chcete-li například vyhledat všechny obrázky ve vašem systému a místo na disku, které využívají, spusťte

Chcete-li, aby místo na disku využívaly všechny vaše soubory PNG ve vašem systému, můžete svázat příkaz find s příkazem 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

Podobně můžete hledat textové soubory ve vašem systému pomocí stejného zástupného znaku.

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

Na druhou stranu, pokud chcete některé vzory vyloučit, je to také možné pomocí příkazu du a možnosti „–exclude“.

 $ du --exclude='*.o'

Zkontrolujte místo na disku v systému Linux pomocí pydf

du a df příkazy jsou mezi správci systému velmi oblíbené.

Nicméně příkaz pydf může být také užitečné, pokud hledáte diskový nástroj, který zobrazuje informace uživatelsky přívětivým způsobem.

Chcete-li nainstalovat pydf , musíte být sudo na vašem hostiteli.

Chcete-li to ověřit, spusťte následující příkaz.

$ sudo -l

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

Dále, v závislosti na vaší distribuci, spusťte jeden z následujících příkazů k instalaci pydf.

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

Poté, když je pydf nainstalován, spusťte příkaz a zadejte přípojný bod, který chcete zkontrolovat.

$ 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 [##########...............] /

Zkontrolujte místo na disku v GNOME

V moderních grafických desktopových prostředích máte k dispozici také sadu nástrojů, které analyzují váš disk za účelem poskytování statistik využití disku.

Jeden z nich se nazývá Analyzátor využití disku .

Disk Usage Analyzer, který je standardně zabudován do GNOME 3.30, je grafický nástroj, který analyzuje využití disku ve vašem systému a také způsob, jakým je distribuován mezi vaše různé složky.

Chcete-li otevřít analyzátor využití disku, přejděte na panel Aktivity v GNOME.

Na panelu Aktivity vyhledejte „Disk Usage Analyzer “.

Měla by se vám zobrazit následující možnost, kliknutím na ni spustíte DUA.

Na stránce „Zařízení a umístění “, měli byste vidět svůj domovský adresář a různé disky.

V nástroji Disk Usage Analyzer máte možnost prohledat složku nebo zkontrolovat celý disk.

Prohledat složku v GNOME

Chcete-li skenovat konkrétní složku, klikněte na „Skenovat složku… ” v levém horním rohu okna.

V dalším okně si můžete vybrat složku, kterou chcete zkontrolovat.

Vyberte svůj domovský adresář a klikněte na „Otevřít ” pro zahájení analýzy disku.

V dalším okně byste měli vidět kompletní analýzu disku pro vybranou složku.

Můžete procházet různými složkami, abyste viděli, jak je prostor rozdělen ve vašich různých složkách.

Na straně je také přítomen distribuční a interaktivní graf.

Disk Usage Analyzer je skvělý nástroj, pokud nejste příliš obeznámeni s příkazovým řádkem a pokud chcete mít grafické znázornění využití disku.

Nyní, když víte, jak zkontrolovat místo na disku v GNOME, pojďme se podívat, jak můžete dosáhnout stejného výsledku v KDE.

Zkontrolujte místo na disku v KDE

Pro ilustraci této kapitoly použijeme čerstvou distribuci Kubuntu 19.10.

Chcete-li zjistit rozložení místa na disku v KDE, nainstalujete Filelight .

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

$ sudo yum install filelight       [CentOS / RHEL]

Filelight je grafická aplikace, která také zobrazuje využití disku v konkrétních složkách nebo na discích.

Chcete-li spustit Filelight, jednoduše spusťte příkaz „filelight“ v konzole terminálu.

$ filelight

Ve výchozím nastavení se Filelight otevře a zobrazí místo použité pro váš kořenový oddíl v %Used vs %Free.

Pokud potřebujete přesnější distribuci, klikněte na „Skenovat ” v levém horním rohu aplikace a vyberte “Skenovat kořenovou složku”.

Po chvíli byste měli být schopni vidět kompletní analýzu vašeho kořenového oddílu.

Pamatujte, že filelight musíte spouštět jako uživatel sudo, abyste se vyhnuli problémům s oprávněními při kontrole složek v kořenovém oddílu.

Monitorování místa na disku v reálném čase

V některých případech může být nutné mít živé a „v reálném čase“ monitorování vašich disků.

Zde je několik možností, které můžete použít ke sledování místa na disku:

  • Implementujte Prometheus pomocí nástroje Node Exporter a kolektoru „systému souborů“.

Připomínáme, že Node Exporter je exportér, který zpřístupňuje metriky hostitele databázi časových řad Prometheus. Kolektor „systém souborů“ se specializuje na agregaci dat o využití disku pro všechny distribuce.

Pokud potřebujete průvodce pro exportér uzlů, přečtěte si náš vyhrazený článek.

Pokud také potřebujete průvodce ke správné instalaci Promethea, přečtěte si o něm naši příručku.

  • Implementujte InfluxDB a Telegraf pomocí vstupního pluginu „Disk“.

Další alternativou je implementace zásobníku TIG a povolení vstupního pluginu „Disk“, který se specializuje na monitorování využití disku v systémech Linux.

Chcete-li nastavit Telegraf, InfluxDB a Grafana , přečtěte si našeho podrobného průvodce.

Nezapomeňte si také přečíst podrobnou dokumentaci zásuvného modulu pro vstup disku na Github.

Závěr

V tomto podrobném tutoriálu jste se naučili, jak můžete kontrolovat a monitorovat místo na disku v Linuxu.

Dozvěděli jste se o nástrojích příkazového řádku, jako jsou „df“ a „du “ a možnosti, které máte k dispozici.

Také jste se dozvěděli, že můžete monitorovat místo na disku pomocí moderních nástrojů:grafických (Filelight nebo Disk Usage Analyzer) nebo platforem (jako je Prometheus nebo InfluxDB).

Pokud vás zajímá Správa systému Linux , na webových stránkách máme sekci věnovanou tomu:nezapomeňte ji zkontrolovat, aby vám neunikl průvodce.


Linux
  1. Použijte df ke kontrole volného místa na disku v Linuxu

  2. Zkontrolujte použité místo na disku v systému Linux pomocí du

  3. Jak uvolnit místo na disku na serverech cPanel

  1. Jak zkontrolovat místo na disku v Ubuntu 20.04 a 20.10?

  2. Jak na to:Uvolněte místo na disku Snížením rezervovaných bloků

  3. Jak vymazat volné místo na disku v Linuxu?

  1. Jak uvolnit místo na disku na dedikovaném serveru

  2. Jak programově získám volné místo na disku pro adresář v Linuxu

  3. Jak v linuxu zkontrolujete, zda je disk fragmentovaný?