Jak zoptymalizować przestrzeń dyskową w systemie Linux

15 min czytania - 22 maja 2026

hero section cover
Spis treści
  • Jak zoptymalizować przestrzeń dyskową w systemie Linux
  • Jak sprawdzić, co zajmuje miejsce na dysku
  • Czyszczenie pamięci podręcznej pakietów, logów i duplikatów
  • Optymalizacja na poziomie systemu plików
  • Automatyzacja konserwacji pamięci masowej
  • Wykorzystaj każdy gigabajt
Udostępnij

Praktyczne techniki odzyskiwania i optymalizacji przestrzeni dyskowej na serwerach Linux, od czyszczenia pamięci podręcznej pakietów po dostrajanie systemu plików i zautomatyzowaną konserwację.

Jak zoptymalizować przestrzeń dyskową w systemie Linux

Przez lata domyślną odpowiedzią na zapełniony dysk było po prostu: dodaj więcej pamięci. Pamięć była tania. Teraz już tak nie jest. Ceny pamięci flash NAND gwałtownie wzrosły od końca 2025 r., napędzane popytem na infrastrukturę AI, który pochłania globalne moce produkcyjne. Ceny kontraktowe na dyski SSD dla przedsiębiorstw wzrosły o 85–90% tylko w pierwszym kwartale 2026 r., ceny detaliczne dysków NVMe dla konsumentów wzrosły mniej więcej dwukrotnie, a nowe moce produkcyjne pamięci NAND mają zostać uruchomione dopiero w 2027 r.

W rezultacie każdy gigabajt na serwerze kosztuje więcej niż rok temu, co sprawia, że optymalizacja tego, co już masz, jest znacznie lepszą inwestycją niż kupowanie nowych zasobów. W tym poście omówiono, jak znaleźć to, co zajmuje miejsce na dysku, jak to usunąć oraz jak skonfigurować system plików, aby efektywniej wykorzystywać pamięć masową.


 

Jak sprawdzić, co zajmuje miejsce na dysku

Zacznij od df -h , aby uzyskać podgląd każdego zamontowanego systemu plików, w tym całkowitego rozmiaru, wykorzystanej przestrzeni i procentowego wykorzystania. Każda partycja powyżej 90% wymaga uwagi. W razie potrzeby sprawdź poszczególne partycje indywidualnie:

df -h /
df -h /boot

Nie pomijaj i-węzłów. System plików może mieć wolne miejsce, ale brak dostępnych i-węzłów, co powoduje te same awarie. Sprawdź za pomocą df -i.

Jeśli df pokazuje 100% wykorzystania, ale liczby się nie zgadzają, prawdopodobnie masz pliki-duchy. Są to pliki, które zostały usunięte, ale nadal są otwarte przez uruchomiony proces. Miejsce nie zostanie odzyskane, dopóki proces nie zwolni uchwytu pliku. Znajdź je za pomocą:

sudo lsof / | grep deleted

Gdy już wiesz, które systemy plików są obciążone, przejdź do katalogów za pomocą du lub ncdu. Do szybkich sprawdzeń lub tworzenia skryptów du jest odpowiednim narzędziem:

du -h --max-depth=1 /var

Dodaj -x podczas skanowania od katalogu głównego, aby pozostać w jednym systemie plików i pominąć wirtualne montowania, takie jak /proc. Do interaktywnego przeglądania na serwerze zdalnym ncdu oferuje nawigowalny interfejs tekstowy, w którym można sortować pliki według rozmiaru i bezpośrednio je usuwać.

Funkcjaduncdu
InterfejsStatyczne dane wyjściowe wiersza poleceńInteraktywny interfejs TUI z nawigacją za pomocą klawiszy strzałek
Najlepsze zastosowanieSkrypty i szybkie kontroleRęczne przeglądanie serwerów zdalnych
SortowanieWymaga przekierowania do sortWbudowane (według rozmiaru, nazwy itp.)
Usuwanie plikówOddzielne rm polecenieWbudowane (naciśnij d)

Czyszczenie pamięci podręcznej pakietów, logów i duplikatów

Trzy obszary konsekwentnie odpowiadają za największą ilość odzyskiwalnego miejsca: pamięć podręczna pakietów, pliki dziennika oraz duże lub zduplikowane pliki.

Pamięć podręczna pakietów i osierocone zależności

Każda instalacja lub aktualizacja pozostawia po sobie pliki pakietów w pamięci podręcznej. Z biegiem czasu gromadzą się one w tle. Wyczyść je zgodnie z instrukcjami dla swojej dystrybucji:

ZadanieDebian/Ubuntu (APT)Fedora/RHEL (DNF)Arch (Pacman)
Wyczyść pamięć podręcznąsudo apt cleansudo dnf clean allsudo paccache -r
Usuń osierocone plikisudo apt autoremovesudo dnf autoremovepacman -Rs $(pacman -Qdtq)
Usuń pozostałe pliki konfiguracyjnesudo apt autoremove --purgeObsługiwane przez autoremoveN/A

Najpierw wyświetl podgląd zmian za pomocą sudo apt autoremove --dry-run. Stare jądra mogą zajmować 1,5 GB lub więcej w systemach Ubuntu. Zawsze zachowaj aktualnie działające jądro i jedną kopię zapasową przed usunięciem starszych wersji.

Jeśli korzystasz z Snap lub Flatpak, one również gromadzą wersje i pliki uruchomieniowe:

sudo snap set system refresh.retain=2
flatpak uninstall --unused

Pliki dziennika w /var/log

Logi to najczęstszy, cichy pożeracz miejsca na dysku. Najpierw znajdź zbyt duże logi:

du -xhd1 /var/log | sort -h
find /var/log -type f -size +100M

W przypadku dzienników systemd użyj wbudowanego narzędzia vacuum zamiast ręcznego usuwania plików:

sudo journalctl --vacuum-size=500M

Aby ustawić stały limit, edytuj /etc/systemd/journald.conf:

SystemMaxUse=500M
MaxRetentionSec=14day

W przypadku aktywnych plików dziennika, które są nadal otwarte przez usługę, nie używaj rm. Miejsce nie zostanie zwolnione, dopóki proces utrzymuje deskryptor pliku. Zamiast tego użyj polecenia truncate:

sudo truncate -s 0 /var/log/syslog

Duże i zduplikowane pliki

Znajdź pliki większe niż 500 MB w całym systemie:

sudo find / -type f -size +500M -exec ls -lh {} +

W przypadku duplikatów rmlint wykorzystuje porównania oparte na skrótach do wykrywania zduplikowanych plików, pustych katalogów i uszkodzonych dowiązań symbolicznych. Przed usunięciem czegokolwiek należy dokładnie przejrzeć wynik, szczególnie na serwerach, gdzie identyczne pliki mogą pełnić różne funkcje.

Optymalizacja na poziomie systemu plików

Po wyczyszczeniu plików można uzyskać więcej przestrzeni użytkowej na tym samym sprzęcie, dostosowując system plików.

Zmniejszenie przestrzeni zarezerwowanej w systemie plików ext4

Domyślnie system plików ext4 rezerwuje 5% przestrzeni dla katalogu głównego. Na partycji danych o pojemności 2 TB oznacza to 100 GB niewykorzystanej przestrzeni. Na serwerze dedykowanym, gdzie partycja danych nie jest systemem plików root, można bezpiecznie zmniejszyć tę wartość:

sudo tune2fs -m 1 /dev/sdXn

Ustawia to rezerwę na 1%, co jest wystarczające w większości przypadków. Zweryfikuj zmianę za pomocą tune2fs -l /dev/sdXn.

Przezroczystą kompresją Btrfs

Btrfs obsługuje przezroczystą kompresję plików, której nie oferują systemy ext4 i XFS. Zamontuj z opcją compress=zstd , aby automatycznie kompresować dane podczas zapisu. ZSTD zapewnia dobrą równowagę między szybkością a współczynnikiem kompresji. W przypadku obciążeń mieszanych compress-force=zstd można uzyskać dodatkowe 10–20% oszczędności poprzez kompresję plików, które heurystyka normalnie pominęłaby.

Aby skompresować istniejące dane na woluminie Btrfs:

btrfs filesystem defragment -czstd /path/to/dir

Należy zachować ostrożność w przypadku woluminów zawierających migawki lub reflinki. Defragmentacja narusza relacje typu „Copy-on-Write”, co w rzeczywistości może zwiększyć zużycie miejsca na dysku.

Reflinki dla kopii natychmiastowych

Zarówno XFS, jak i Btrfs obsługują reflinki, które tworzą kopie plików współdzielące bloki fizyczne, dopóki jedna z kopii nie zostanie zmodyfikowana. Jest to przydatne do klonowania obrazów dysków maszyn wirtualnych lub warstw kontenerów bez podwajania zużycia pamięci masowej:

cp --reflink=always source.img clone.img

Cienkie przydzielanie przestrzeni dyskowej LVM

Cienkie przydzielanie LVM pozwala przydzielić więcej przestrzeni logicznej niż fizycznie dostępnej, zużywając rzeczywisty dysk tylko w miarę zapisywania danych. Jest to przydatne podczas uruchamiania wielu maszyn wirtualnych lub kontenerów, z których każdy potrzebuje własnego woluminu logicznego, ale nie wszystkie zapełnią go jednocześnie.

Aby zapobiec wyczerpaniu się puli typu thin, włącz automatyczne rozszerzanie w /etc/lvm/lvm.conf , ustawiając thin_pool_autoextend_threshold i thin_pool_autoextend_percent.

Automatyzacja konserwacji pamięci masowej

Ręczne czyszczenie działa tylko raz. Automatyczne czyszczenie utrzymuje dyski w dobrym stanie od teraz do następnego logowania. Użyj systemd timerów cron tam, gdzie to możliwe. Automatycznie rejestrują one dane wyjściowe journalctl automatycznie, a Persistent=true nadrabia opuszczone uruchomienia po ponownym uruchomieniu komputera.

NarzędzieNarzędzieCzęstotliwość
Rotacja logówlogrotateCodziennie lub co tydzień
Odkurzanie dziennikajournalctl --vacuum-timeCo tydzień
Czyszczenie pamięci podręcznej pakietówapt clean / dnf clean allCo miesiąc
Czyszczenie plików tymczasowychsystemd-tmpfilesCodziennie
Czyszczenie Dockerdocker system pruneCo tydzień
Monitorowanie wykorzystania dyskuSkrypt niestandardowy + timer systemdCo 15–30 min

Docker zasługuje na szczególną uwagę. Logi kontenerów mogą się powiększać bez żadnego widocznego ostrzeżenia. Ogranicz rozmiar logów globalnie, edytując /etc/docker/daemon.json. Ustaw max-size i max-file w sekcji log-opts , aby zapobiec zapełnianiu dysku przez poszczególne kontenery.

W celu proaktywnego monitorowania skonfiguruj dwupoziomowy system alertów: ostrzeżenie przy 80% wykorzystania dysku i alert krytyczny przy 90%. Rejestruj wykorzystanie dysku co godzinę, abyś mógł śledzić trendy wzrostu i przewidzieć, kiedy partycja osiągnie pojemność:

0 * * * * df --output=source,size,used,pcent >> /var/log/disk_usage.csv

Jeszcze jedno zabezpieczenie: zamontuj /var, /tmpi /home na oddzielnych partycjach. Zapobiega to sytuacji, w której niekontrolowane logi lub dane użytkowników zajmą główny system plików i spowodują awarię całego systemu.

Wykorzystaj każdy gigabajt

W obliczu rosnących cen pamięci masowej i braku perspektyw na poprawę sytuacji do momentu uruchomienia nowej produkcji pamięci NAND w 2027 r. optymalizacja posiadanych zasobów to nie tylko dobra praktyka. To realne oszczędności. Podejście jest proste:

  • Sprawdź wykorzystanie dysku za pomocą df, dui ncdu przed wprowadzeniem jakichkolwiek zmian.
  • Wyczyść pamięć podręczną pakietów, rotuj logi i usuń duplikaty, aby natychmiast odzyskać miejsce.
  • Zoptymalizuj system plików. Zmniejsz liczbę bloków zarezerwowanych w ext4, włącz kompresję Btrfs lub użyj alokacji dynamicznej LVM, aby uzyskać więcej z tego samego sprzętu.
  • Zautomatyzuj konserwację za pomocą timerów systemd, aby dyski pozostawały czyste między audytami.
  • Monitoruj trendy użytkowania i ustaw alerty na 80% i 90%, aby wcześnie wykrywać problemy.

Jeśli potrzebujesz dedykowanej infrastruktury serwerowej z wysokowydajną pamięcią masową NVMe, serwery dedykowane FDC są stworzone właśnie do tego.

Blog

Polecane w tym tygodniu

Więcej artykułów
Dlaczego ważne jest posiadanie wydajnego i niezmierzonego serwera VPS?

Dlaczego ważne jest posiadanie wydajnego i niezmierzonego serwera VPS?

Potrzebujesz niezawodnej wydajności i nieograniczonego ruchu? Potężny, nielimitowany serwer VPS oferuje szybkość, skalowalność i przepustowość, których potrzebujesz, bez martwienia się o limity użytkowania.

3 min czytania - 9 maja 2025

Jak zoptymalizować przestrzeń dyskową w systemie Linux

15 min czytania - 22 maja 2026

Więcej artykułów
background image

Masz pytania lub potrzebujesz niestandardowego rozwiązania?

icon

Elastyczne opcje

icon

Globalny zasięg

icon

Natychmiastowe wdrożenie

icon

Elastyczne opcje

icon

Globalny zasięg

icon

Natychmiastowe wdrożenie