Dlaczego ten pusty katalog 3,5 MB?

16

Właśnie przeczytałem to pytanie: Co oznacza rozmiar katalogu w wyniku działania polecenia „ls -l”?

... co nie do końca odpowiada na moje pytanie. Zasadniczo przenoszę pliki na serwer NAS. Foldery, które już przenosiłem, są całkowicie puste, bez ukrytych plików ani niczego, a mimo to dunadal zgłaszają swój rozmiar na 3,5 MB. Trzeba przyznać, że poprzednio zawierały one dużą liczbę plików o długich nazwach plików.

Czy ten rozmiar wynika po prostu z ilości i długości nazw plików znajdujących się w tym katalogu? Dlaczego rozmiar nie zmniejszył się teraz, gdy foldery są puste (system plików ext4)?

shearn89
źródło
1
du zwykle myśli inaczej niż ludzie, daje raport oparty na niektórych ustawieniach systemu plików. możesz sprawdzić za pomocą opcji „--apparent-size” tutaj: gnu.org/software/coreutils/manual/html_node/du-invocation.html .
Hermann Ingjaldsson,
Kiedy kopiujesz nowo utworzone puste katalogi na serwer NAS, jakie są ich rozmiary? Czy masz również dostęp do serwera NAS, na którym możesz na przykład uruchomić tune2fs?
slm
Czy bierzesz pod uwagę migawki?
mdpc,
@ slm - wychodzą w normalnym rozmiarze 4096 (bajtów?).
shearn89
@mdpc - migawki?
shearn89

Odpowiedzi:

16

Po usunięciu wszystkich plików z katalogu w większości systemów plików katalog pozostaje tego samego rozmiaru.

Jeśli katalog jest pusty,

rmdir ./directory_name; mkdir ./directory

Wynikowy nowy katalog będzie mniejszy. Ale wraz z dodawaniem plików będzie się powiększać. Nie przejmuj się rozmiarem pliku w katalogu tak dużym, jak liczbą plików w jednym katalogu. Ogromna liczba plików w jednym katalogu negatywnie wpływa na wydajność wyszukiwania plików. Nawet przy dużym buforowaniu i-węzłów.

Jim Mcnamara
źródło
4
Duża liczba plików w katalogu 1 naprawdę ma znaczenie tylko dla systemów plików ext. Inne, takie jak xfs, btrfs, reiser itp., Nie mają tego samego problemu.
Patrick,
2
To jest poprawne. Jednak ufs ma problem, podobnie jak inni. Chociaż to pytanie jest ściśle ext4, problem jest wszechobecny, więc wspomniałem o nim.
Jim Mcnamara,
Oprócz problemów z wydajnością umieszczanie zbyt wielu plików w katalogu może powodować inne problemy - wykonanie rm *może spowodować problemy, jeśli masz więcej niż 1024 pliki.
Sean McSomething
@SeanMcSomething Jakie masz na myśli problemy?
Hatszepsut
1
@SeanMcSomething Nie mam pojęcia, skąd masz to badziewie. Wiersz polecenia procesu może mieć rozmiar pół megabajta lub więcej. Nie ma to nic wspólnego z liczbą plików, całkowity rozmiar wiersza poleceń ma limit, który jest znacznie wyższy, jak mówisz.
peterh - Przywróć Monikę