Mój dysk flash USB SanDisk pokazuje, że 43 GB jest używane, gdy właśnie skopiowałem folder 10 GB po sformatowaniu [duplikat]


17

Niedawno kupiłem dysk flash USB SanDisk 128 GB.

Po sformatowaniu dysku flash USB w formacie exFAT skopiowałem folder o pojemności około 10 GB. Jest w nim wiele małych plików, więc zajęło to trochę czasu.

Jednak kiedy widzę w Eksploratorze Windows po skopiowaniu folderu, mówi, że około 43 GB miejsca jest zajęte, a teraz tylko 70 GB miejsca jest bezpłatne.

Co się dzieje i jak sobie z tym poradzić? Czy mój dysk flash USB jest fizycznie uszkodzony?

To wciąż dziwne, ponieważ kiedy skopiowałem pojedynczy plik o pojemności 7 GB, pokazał on poprawnie pozostałą pojemność przy około 110 GB dostępnej pamięci.


7
Jeśli klikniesz prawym przyciskiem myszy mały plik i przejdziesz do właściwości, co wyświetla się dla „rozmiar” i „rozmiar na dysku”
Scott Chamberlain


20
Powiedziałeś a 10GB filew tytule, ale faktycznie skopiowałeś 10GB folder of small files. Oni są zupełnie inni . Jeśli rozmiar klastra wynosi 4KB, a pliki mają średnio 1 KB, to na pewno zajmie to 40 GB na dysku. Domyślnie rozmiar alokacji exFAT jest znacznie wyższy niż w innych systemach plików
phuclv

Dlaczego to zrobiłeś? Czy musisz używać pamięci USB z czymś innym niż laptopy, komputery stacjonarne i podobny sprzęt? AFAIK tylko niektóre radia samochodowe i takie nie obsługują NTFS lub podobnej alternatywy ...
Bakuriu

Nie sądzę, że foldery mają „pojemność” (niektóre maksimum mogą pomieścić), może oczekiwać liczby plików. Co masz na myśli?
jpmc26,

Odpowiedzi:


57

Odpowiedziałeś już na swoje pytanie: Jest w nim wiele małych plików

Każdy plik na woluminie exFAT ma co najmniej jeden rozmiar bloku. Plik o rozmiarze jednego bajtu zajmuje więc co najmniej 4K - wzmocnienie wielkości 1: 4096. Widzisz powiększenie wielkości 4,3, co jest bardzo prawdopodobne w przypadku wielu małych plików.

Możesz sprawdzić tę hipotezę, pakując pliki za pomocą WinRAR i zerowych ustawień kompresji, a następnie skopiuj ten plik na pamięć USB.


14
Oznacza to dokładnie, co to znaczy. Miejsce na dysku przydzielane jest w przyrostach co 4 kB, ok. Plik jednobajtowy zajmuje 4 KB miejsca na dysku. Dwubajtowy plik zajmuje tyle samo 4kb miejsca na dysku. To samo dotyczy 3 bajtów i do 4096 bajtów. Plik bajtowy 4097 zajmuje 8192 bajtów miejsca na dysku i tak dalej (ignoruje to narzut związany z tworzeniem pozycji katalogu). Średni rozmiar plików wydaje się wynosić około 1 KB, więc w rezultacie zużywasz cztery razy więcej niż suma danych. Wszystkie systemy plików działają w ten sposób, FAT lub NTFS, różniące się tylko rozmiarami blk, ale czasami możliwe są pewne optymalizacje.
Sam Varshavchik

7
NTFS jest znacznie bardziej wydajny niż jakakolwiek wersja FAT w obsłudze wielu małych plików. Jeśli kiedykolwiek będziesz używać tego napędu USB na pełnowymiarowych komputerach z systemem Windows, sformatowanie go jako NTFS jest całkowicie rozsądnym rozwiązaniem. Z drugiej strony, jeśli planujesz podłączyć go do aparatu lub produktu Apple, nie będą w stanie go odczytać.
zwolnić

3
Czy to możliwe, że exFAT został bezpłatnie sformatowany przy rozmiarze bloku znacznie większym niż 4k? Można to naprawić, ponownie formatując jako exFAT z rozsądnymi opcjami, bez utraty kompatybilności.
R .. GitHub ZATRZYMAJ LÓD

3
@zwol Produkty Apple mogą odczytywać dyski NTFS. Po prostu domyślnie nie mogą do nich pisać
awksp

4
MSDN twierdzi, że domyślny rozmiar klastra dla partycji exFAT o 128 GB wynosi 128 kB. To będzie bardzo źle działać z małymi plikami. Zip jest tutaj twoim przyjacielem.
Peter - Przywróć Monikę

14

Podczas formatowania jako exFAT prawie na pewno wybrałeś dużą jednostkę alokacji (rozmiar bloku), np. 128k lub 512k. Sformatuj przy użyciu standardowych jednostek alokacji 4k i problem powinien zniknąć.



2
Tak, to ogromny problem. Sformatuj z 4k.
R .. GitHub ZATRZYMAJ LOD

1
Dla mnie domyślny rozmiar przydziału wynosił 512 KB.
Felix Lee

@ FelixLee, co oznacza, że ​​nawet plik 1-bajtowy zajmie 512 KB.
Captain Man

1
@GalacticCowboy: To może nie być obecnie wymaganie, ale to tylko ogólne najlepsze praktyki. Może to stać się szczególnie problemem w przypadku konieczności uzyskania dostępu do plików z innego systemu lub jeśli na dysku występuje uszkodzenie, a OP próbuje odzyskać jak najwięcej danych (powodzenia, jeśli jest zagnieżdżony w pliku archiwum, zwłaszcza skompresowany).
R .. GitHub ZATRZYMAJ LOD

7

Dlaczego to się dzieje?

Ponieważ przechowujesz wiele małych plików.

Systemy plików mają minimalny rozmiar, który mogą przechowywać. W systemach plików NTFS jest to zwykle 4KB. W przypadku exFAT może być znacznie większy. To się nazywa rozmiar bloku lub klastra. Pliki mniejsze niż ten rozmiar będą nadal zajmować rozmiar minimalny, więc plik 1KB może zajmować 4KB miejsca na dysku. Plik 3KB zajmowałby również 4KB miejsca na dysku. Jeśli masz plik 5 KB, zużyje 8 KB miejsca na dysku.

Możesz to sobie wyobrazić jak siatkę dziur. Każdy otwór może pomieścić pewną ilość danych. Pliki są rozmieszczone w tylu otworach, ile potrzeba, aby pomieścić wszystkie dane pliku, ale otwory nie mogą zawierać danych z więcej niż jednego pliku. Jeśli więc dane pliku nie wypełnią całkowicie dziury, część tej przestrzeni zostanie zmarnowana. Żaden inny plik nie może użyć tego otworu, więc nieużywane miejsce jest niedostępne.

Co możesz z tym zrobić?

W twoim przypadku masz wiele plików, które nie wypełniają dziur, więc jest dużo zmarnowanego miejsca. Jeśli miałbyś umieścić wszystkie pliki w pliku ZIP, wszystkie te dane byłyby zawarte w jednym pliku i zajmowałoby dużo mniej miejsca na dysku.

Niektóre napędy USB są domyślnie sformatowane jako exFAT, więc alternatywnie, jeśli używasz tego napędu do kopiowania plików między komputerami z systemem Windows (lub tylko do przechowywania), możesz spróbować sformatować dysk jako NTFS (ale najpierw skopiuj wszystkie pliki , oczywiście!), aby spróbować uzyskać mniejszy rozmiar klastra.


2

Jak sugeruje inna odpowiedź, użyj archiwizatora, ale zalecam użycie 7z zamiast WinRAR, ponieważ jest bezpłatny, a także możesz uniknąć instalowania archiwizatorów innych firm, jeśli używasz wbudowanego w Windows „Wyślij do> Skompresowane (skompresowane) ) folder ”po kliknięciu prawym przyciskiem myszy plików i folderów. Jest szybszy niż 7z, ale archiwizuje się nieco wolniej.

Jeśli chcesz przechowywać głównie obrazy JPEG lub coś, co wcale nie kompresuje, powinieneś skorzystać z 7z i wyraźnie wybrać opcję „bez kompresji”.

Używanie formatu archiwum .zip w formacie .rar lub .7z jest ważne, ponieważ system Windows obsługuje przeglądanie ich tak, jakby to był tylko jakikolwiek inny folder (choć z pewnymi ograniczeniami).

Jeśli nie możesz przeglądać takich plików na dysku flash, możesz użyć innego formatu, ale ważną kwestią związaną z tym, że pliki nie zajmują tyle miejsca, jest posiadanie jednego pliku archiwum zamiast wszystkich oryginalnych plików osobno.


3
Jeśli rozmiar zwiększył się 4x ponad rozmiar nominalny, zdecydowana większość plików ma rozmiar 1k lub mniejszy. To prawie na pewno nie są pliki JPEG.
R .. GitHub ZATRZYMAJ LÓD

Po drugie, dlaczego miałbyś kiedykolwiek wybierać „bez kompresji”? Będzie nadal nieco mniejszy, nawet jeśli pliki nie będą nadmiernie kompresowane.
Clonkex,

1
@ clonkex, ponieważ szybkość i opóźnienia to coś
PlasmaHH

2
@Clonkex Ponieważ algorytmy kompresji są z natury względnie powolne i wymagają dużych zasobów, jeśli wiesz, że kompresja nie będzie miała znaczącego zysku dzięki dodatkowemu czasowi kompresji / dekompresji plików, dlaczego nie powiedzieć suwakowi, aby pominął ten krok ?
Trotski94,

1
@JamesTrotter dla zwykłych algorytmów kompresji (innych niż LZMA), na zwykłych komputerach kod kompresji działa szybciej niż dysk może zapisać, więc nie ma „dodatkowego czasu” - zapis skompresowanego archiwum jest szybszy, ponieważ zapisuje mniej bajtów i dysku jest wąskim gardłem.
hobbs
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.