Dlaczego foldery „proc” i „sys” mają rozmiar większy niż 100 TB? [Zamknięte]

10

Ktoś, kogo znam właśnie wydał następujące oświadczenie:

„Mam w systemie pliki o wartości 140,7 TB”

Ktoś inny powiedział coś w stylu „jak?” a odpowiedź brzmiała:

„Wirtualna pamięć RAM, Ubuntu ma swoje dziwactwa. /proc/corePlik”

Niewiele wiem o Linuksie i zastanawiałem się, czy ktoś mógłby wyjaśnić, o co w tym wszystkim chodzi. Nie rozumiem, jak ktokolwiek może mieć 140,7 TB wartości, chyba że ma bardzo dużą liczbę dysków twardych.

jza
źródło
3
To, co wydaje się być plikiem, niekoniecznie musi być plikiem na dysku twardym. A rozmiar logiczny plików nie zawsze jest taki sam jak ich rozmiar fizyczny (tzn. Wymagana przestrzeń dyskowa).
Daniel Beck
Mam również ten plik 140,7 TB. Rozmiar bajtu to 140737477881856. Zastanawiam się, co oznacza ta liczba.
neverMind9,
Liczba ta jest bliska 2 ^ 47, czyli 140,737.488.355.328.
neverMind9,

Odpowiedzi:

14

Te lokalizacje należą do wirtualnych systemów plików. Wszystko, co widzisz - foldery, pliki i ich zawartość - jest tworzone na miejscu za każdym razem, gdy próbujesz uzyskać do niego dostęp. Rzeczywisty rozmiar nie jest jeszcze znana dopiero po przeczytaniu plik (i to często nie mogą być przechowywane w różnych czytelnicy mogą także zobaczyć różne zawartości).

Same systemy plików w ogóle nic nie zajmują; to tylko widoki na jądro.

Czasami rozmiar jest znany, ale reprezentowane przez niego dane są ogromne. Na przykład corepliki reprezentują wirtualną przestrzeń adresową procesu - i ta przestrzeń adresowa jest tak duża, jak CPU może zaadresować; jest niezwiązany przez rzeczywisty rozmiar RAM / swap. Tak więc plik będzie miał około 2 48 do 2 64 bajtów w systemie „64-bitowym”.

Więc to normalne, że otrzymasz naprawdę dziwne liczby, jeśli uruchomisz narzędzia do korzystania z dysku na wirtualnych systemach plików, szczególnie jeśli liczą one „pozorny” (rzadki) rozmiar, a nie faktyczne użycie dysku.

użytkownik1686
źródło
5

Nie, nie dlatego. Pliki rzadkie wydają się mieć określony rozmiar, ponieważ w nagłówku pliku jest wymieniony, ale zawierają znacznie mniej danych.

Ignacio Vazquez-Abrams
źródło
5
I zdarzają się niesamowite rzeczy, gdy próbujesz wykonać kopię zapasową rzadkich plików za pomocą programu do ich tworzenia, który ich nie rozumie. Nauczyłem się tego na Xenix.
Fiasco Labs
1

Jednym ze sposobów może być to, że mają dużą liczbę skompresowanych plików i liczą rozmiar, jaki mieliby po rozpakowaniu .

Oczywiście zależy to od typu pliku, ponieważ niektóre pliki kompresują się dalej niż inne (np. Pliki tekstowe), a innych nie można dalej kompresować (np. Jpg, mp3) bez utraty danych, ale teoretycznie może to dać liczby podane przez twojego znajomego.

ChrisF
źródło
2
Jasne, jeśli masz około 20 TB pamięci.
Ignacio Vazquez-Abrams
@ IgnacioVazquez-Abrams - Nie twierdzę, że to prawdopodobne, po prostu możliwe.
ChrisF
@ IgnacioVazquez-Abrams: To tylko dziesięć dysków 2 TB.
user1686,
2
@grawity - pełen tekstu ...
ysap
@ysap pełen skompresowanego tekstu.
SplinterReality