Hogyan ellenőrizhető a lemezhasználat Linux szerveren (du és df parancsok)?

Linux 2 perc olvasás

Ha egy Linux szerveren szeretné megtudni, mennyi tárhely áll még rendelkezésre, illetve mely fájlok vagy mappák foglalják a legtöbb helyet, a df és a du parancs ad erre gyors választ. A df a fájlrendszerek egészét, a du az egyes könyvtárak és fájlok méretét mutatja.

A df parancs: teljes lemezhasználat

A df (disk free) a csatolt fájlrendszerek teljes, foglalt és szabad területét mutatja meg:

df -h

A -h (human-readable) kapcsoló olvasható formában (K, M, G) írja ki az értékeket a nyers blokkszámok helyett. A df -hT a fájlrendszer típusát (például xfs, ext4) is kiírja, a df -h /var pedig csak azt a fájlrendszert mutatja, amelyen a megadott könyvtár van. A lista tmpfs és devtmpfs sorai memóriában lévő ideiglenes fájlrendszerek, ezek nem a lemezt foglalják.

Inode-ok

Egy fájlrendszer akkor is megtelhet, ha a df -h szerint még van szabad hely: minden fájl egy inode-ot foglal, és ezek száma is véges. Sok apró fájl (például gyorsítótár- vagy munkamenetfájlok) esetén az inode-ok fogynak el előbb. Ellenőrzése:

df -i

Hogy mit jelent az inode, külön cikkünk magyarázza el.

A du parancs: mappák és fájlok mérete

A du (disk usage) egy mappa vagy fájl tényleges, lemezen foglalt méretét mutatja meg:

du -sh /var/www

A -s (summary) kapcsoló csak az összesített méretet írja ki, a -h itt is olvasható formát ad.

A legnagyobb mappák megkeresése

Az alábbi parancs a megadott könyvtár közvetlen almappáit méret szerint csökkenő sorrendben listázza:

sudo du -h --max-depth=1 /var | sort -rh | head -n 15

A legnagyobb almappába lépve a parancs megismételhető, amíg meg nem találja, mi foglalja a helyet. A teljes gyökérkönyvtár vizsgálatakor adja hozzá az -x kapcsolót (du -xh --max-depth=1 /), hogy a du ne lépjen át más fájlrendszerekre.

A legnagyobb egyedi fájlok (itt az 500 MB-nál nagyobbak) a find paranccsal kereshetők meg:

sudo find / -xdev -type f -size +500M -exec ls -lh {} \; 2>/dev/null

Ha interaktív, menüs nézetet szeretne, telepítse az ncdu programot (apt install ncdu, illetve AlmaLinuxon az EPEL tárolóból dnf install ncdu). A du további kapcsolóit (kizárás, méretküszöb, hardlinkek, ritka fájlok, inode-ok) A du parancs részletesen cikk mutatja be.

Gyakori helyfoglalók

  • Naplófájlok: a /var/log és a weboldalak error_log fájljai. A nagy error_log fájlok megkereséséről és eltávolításáról külön cikk szól. A systemd naplója a journalctl --disk-usage paranccsal ellenőrizhető, és például a journalctl --vacuum-size=500M paranccsal csökkenthető.
  • Régi mentések és archívumok, amelyek a szerveren maradtak.
  • Csomaggyorsítótár: a dnf clean all vagy az apt clean paranccsal üríthető.

Ha a df és a du mást mutat

Ha a df szerint betelt a lemez, de a du nem talál ennyi adatot, valószínűleg egy futó program még nyitva tart egy már törölt fájlt. Ennek megoldását a Betelt a lemez, de a du nem mutatja cikk írja le.

Miért fontos ez?

A betelt lemez komoly problémákat okoz: leállhatnak a szolgáltatások, sikertelenek lesznek az adatbázis-műveletek és a mentések. Ha a hely rendszeresen fogy, és a takarítás nem segít, a KVM VPS-csomagok között nagyobb tárhelyűt is választhat. cPanel tárhelyen a lemezhasználat grafikus felületen is ellenőrizhető, lásd: Lemezhasználat ellenőrzése cPanelben.

Vissza: Linux leírások (62)