LW IT Solutions logo LW IT Solutions logo LW IT Solutions
« Przegląd bloga /IT & Networks/Tutorials / Sprawdzanie miejsca na dysku w Ubuntu i...
Ten artykuł w innych językach:

Sprawdzanie miejsca na dysku w Ubuntu i Debianie: wyszukiwanie dużych plików przez SSH

Sprawdzanie miejsca na dysku w Ubuntu i Debianie: wyszukiwanie dużych plików przez SSHSprawdzanie miejsca na dysku w Ubuntu i Debianie: wyszukiwanie dużych plików przez SSH

Management Summary

Zarządzanie miejscem na dysku pomaga utrzymać sprawne działanie komputera lub serwera. W Ubuntu i Debianie miejsce mogą zajmować pojedyncze duże pliki, wiele małych plików albo usunięte dane nadal otwarte przez program. Artykuł wyjaśnia wyszukiwanie tych przyczyn przez zdalne połączenie tekstowe. Pozwala to ustalić, co zajmuje przestrzeń, zanim zapadnie decyzja o usuwaniu. Widoczny rozmiar nie zawsze odpowiada faktycznemu zużyciu dysku, a duży plik może nadal być niezbędny.

Spis treści
  1. Najpierw właściwy system plików
  2. Pliki większe niż 500 MiB
  3. Sortowanie zajętych bloków przez du
  4. Gdy liczby się różnią
  5. Pytania i odpowiedzi
  6. Źródła

Prawie pełny system plików wymaga diagnozy przed porządkowaniem. Duże pojedyncze pliki są jedną z przyczyn; znaczenie mogą mieć również liczne małe pliki, usunięte pliki nadal otwarte lub właściwości systemu plików. Poniższe polecenia sprawdzają zajętość w Ubuntu i Debianie. Nie usuwają plików.

Najpierw właściwy system plików

Po połączeniu SSH ścieżka bezwzględna określa badany obszar. Przykładowa ścieżka wymaga zastąpienia istniejącym katalogiem. df opisuje system plików zawierający katalog, a nie tylko sam katalog.

Shell
df -h -- "/sciezka/do/katalogu"
df -i -- "/sciezka/do/katalogu"

df -h pokazuje zajętość w czytelnych jednostkach binarnych. df -i pokazuje wykorzystanie i-węzłów, jeśli jest obsługiwane. I-węzeł przechowuje informacje o pliku, na przykład uprawnienia i miejsce zapisania danych. Po wykorzystaniu wszystkich dostępnych i-węzłów utworzenie kolejnego pliku może się nie udać, mimo wolnego miejsca na zawartość.

Pliki większe niż 500 MiB

Shell
find "/sciezka/do/katalogu" -xdev -type f -size +500M -exec ls -lh -- {} +

-type f wybiera zwykłe pliki. GNU find interpretuje M jako 1 048 576 bajtów, więc +500M oznacza rozmiar powyżej 500 MiB, a nie 500 dziesiętnych MB. Porównanie dotyczy rozmiaru logicznego. Plik rzadki zawiera puste obszary odczytywane jako zera, które nie muszą zajmować odpowiednich bloków dysku. Długość pliku może więc być znacznie większa niż rzeczywiście zajęte miejsce.

-xdev zapobiega przechodzeniu do innych systemów plików. -exec ls -lh -- {} + przekazuje nazwy znalezionych plików partiami bezpośrednio do ls. Pokazuje szczegóły, ale nie tworzy rankingu rozmiarów. Cudzysłowy obsługują spacje w ścieżce. Błędy uprawnień wymagają uwagi, ponieważ niedostępne katalogi oznaczają niepełne wyniki.

Sortowanie zajętych bloków przez du

Shell
du -axh -- "/sciezka/do/katalogu" | sort -rh | head -n 10

du -a obejmuje pliki i katalogi; -h formatuje rozmiary, a -x pozostaje w jednym systemie plików. sort -rh sortuje czytelne rozmiary malejąco, a head -n 10 ogranicza wynik do dziesięciu wierszy. Wartości katalogów zawierają już zawartość. Sumowanie wszystkich wierszy policzyłoby te same dane wielokrotnie. To lista największych pozycji, nie wyłącznie pojedynczych plików.

Potok służy do interaktywnego przeglądu. Znaki nowego wiersza w nazwach plików mogą zakłócać prezentację; automatyczne przetwarzanie wymaga rozdzielania wpisów bajtem NUL. Taki bajt nie może wystąpić w nazwie pliku w Linuksie, więc nietypowa nazwa nie zostanie podzielona na kilka wpisów. Duże skany i sortowanie zajmują czas, obciążają wejście/wyjście i mogą potrzebować miejsca tymczasowego. Odpowiedni katalog początkowy ogranicza ten koszt.

Zajętość systemu plików, rozmiar logiczny i zajęte bloki odpowiadają na różne pytania. Dodatkowe kontrole badają brakujące wpisy oraz niedobór i-węzłów.
Zajętość systemu plików, rozmiar logiczny i zajęte bloki odpowiadają na różne pytania. Dodatkowe kontrole badają brakujące wpisy oraz niedobór i-węzłów.

Gdy liczby się różnią

df i du mierzą różne wielkości. Rozbieżność jest wskazówką, a nie dowodem jednej przyczyny. Niedostępne ścieżki, różne granice montowania, migawki, zarezerwowane miejsce oraz rozliczanie bloków przez system plików również mogą mieć znaczenie.

Shell
du --inodes -x --max-depth=1 -- "/sciezka/do/katalogu" | sort -nr
lsof -nP +L1

du --inodes pomaga znaleźć katalogi z wieloma wpisami systemu plików, również z licznymi małymi plikami. lsof +L1 pokazuje otwarte pliki mające mniej niż jedno dowiązanie twarde. W Linuksie usunięcie wpisu z katalogu nie zwalnia od razu miejsca, jeśli program nadal ma otwarty plik. Dane mogą zajmować miejsce aż do zamknięcia ostatniego otwartego dostępu. Widoczność procesów zależy od uprawnień; lsof może wymagać osobnej instalacji.

Pytania i odpowiedzi

Czy du pomija wiele małych plików?

Nie. Sumy katalogów uwzględniają zawartość, a du --inodes uzupełnia wynik o liczbę wpisów. Wyszukiwanie dużych pojedynczych plików może przeoczyć tę przyczynę, lecz sumowanie katalogów nie ma takiego ogólnego ograniczenia.

Czy każdy duży plik można usunąć?

Nie. Baza danych, plik aplikacji lub kopia zapasowa może być duża i nadal potrzebna. Porządkowanie zależy od przeznaczenia, retencji i procedur aplikacji. W przypadku logów lepszym rozwiązaniem jest skonfigurowana rotacja lub obsługiwane ponowne otwarcie niż przypadkowe usuwanie aktywnych plików.

Czy te kontrole wyjaśniają każdy pełny dysk?

Nie. Limity, migawki, metadane systemu plików lub inny pełny punkt montowania mogą wymagać dalszych sprawdzeń. Punktem wyjścia są faktycznie dotknięta ścieżka i właściwy system plików.

Lukas Wójcik

Lukas Wójcik

Systems architect and technology enthusiast specializing in scalable tracking solutions, GMP Stack (GA4 & GTM), and robust backend architectures. Advocate for clean code and privacy-first design.

Kontakt

Masz pytanie lub pomysł na projekt internetowy? Napisz krótko, o co chodzi. Formularz korzysta z reCAPTCHA i formconfirmed do ochrony przed spamem.

Napisanie komentarza

Doświadczenia z innym sprzętem lub inną wersją oprogramowania oraz pytania o konfigurację są tu mile widziane.

Adres e-mail nie jest publikowany. Pola obowiązkowe oznaczono gwiazdką.

LUKASWOJCIK.COM · NEWSLETTER

Nowe pomysły w skrzynce

Nowe artykuły, praktyczne narzędzia i informacje o projektach.

Wybierz tematy (opcjonalnie)
Bez wyboru: wszystkie tematy.

Zapis wymaga potwierdzenia e-mailem. · Prywatność

Prywatność · Newsletter

Adres e-mail, język, wybrane tematy oraz daty zapisu i potwierdzenia są przechowywane w celu wysyłki newslettera. Wymagane jest potwierdzenie zapisu. Każda wiadomość zawiera link do natychmiastowej rezygnacji. Formconfirmed chroni formularz przed spamem. Brak śledzenia otwarć i kliknięć.

Pełna polityka prywatności ↗