Показать сообщение отдельно
Старый 14.09.2007, 17:42   #18
Paul Kellerman
Gold Member
 
Регистрация: 25.06.2005
Адрес: F000:FFF0
Сообщений: 1,804
По умолчанию Проблема с жестким диском

Feeleen
Цитата:
Где, соответственно, Гб с лишним??
В "болоте". Болото - это место, пропадаемое за счет того, что размер
файлов не всегда кратен размеру логического блока, так называемого
кластера, на которые разбивается дисковое пространство. Если, напри-
мер, кластер - 4096 байт, то файл размером 9000 байт займет 3 класте-
ра общим размером 12288 байт, а соответственно, 3288 байт пропали.
А если создать 1 000 000 файлов размером всего 1 байт, то формально
они будут иметь общий размер 1 000 000 байт - это чуть меньше 1 Мб,
а фактически они займут 1 000 000 кластеров с общим размером ~4 Гб!

Так что, нужно смотреть не суммарный размер файлов, а общее коли-
чество занимаемых кластеров. Впрочем, встроенная в MS Windows NT,
XP, 2003 консольная программа CHKDSK всегда показывает истинный
размер свободного пространства. Что пишет scandisk - уже не помню.

Пример работы программы chkdsk:

D:\>chkdsk c:
The type of the file system is FAT32.
Volume BOOT created 10.08.2002 13:55
Volume Serial Number is 0F36-1809
Windows is verifying files and folders...
File and folder verification is complete.
Windows has checked the file system and found no problems.
* * *8*137*044 KB total disk space.
* * * * 170*656 KB in 27 hidden files.
* * * * * * 3*472 KB in 762 folders.
* * *2*862*336 KB in 19*582 files.
* * *5*100*576 KB are available.

* * * * * * 4*096 bytes in each allocation unit.
* * *2*034*261 total allocation units on disk.
* * *1*275*144 allocation units available on disk.

Здесь, allocation unit - это и есть кластер, просто термин AU - общий.

Так что, чем меньше кластер - тем меньше потерь при большом коли-
честве "карликовых" файлов (с размером, меньшим или существенно
меньшим размера кластера). Но слишком маленький кластер, требует
слишком большого количества кластеров, чтобы "покрыть" одно и то
же дисковое пространство - это сильно отражается на производитель-
ности, поскольку за одно обращение считывается / записывается сли-
шком маленькая порция данных, и нужно слишком часто обращаться
к диску и слишком часто искать в таблице кластеров следующий в це-
почке кластеров, принадлежащих заданному файлу. Так что тут име-
ет место быть задача оптимизации с противоречивыми критериями...

Кроме того, как уже здесь заметили, часть пространства также занята
скрытыми файлами. Кроме того, сами каталоги в том числе даже пустые
также требуют отдельных кластеров для собственного существования.
А еще бывают виртуальные ссылки на один и тот же физический файл
из разных каталогов, многопоточные файлы, но о них лучше простому
смертному даже и не задумываться для сохранения здравого рассудка.

Еще кое-что, когда вы покупаете диск на "X Гбайт", на самом деле он
не X Гбайт, а X миллардов байт, истинная емкость: X*(10^9/2^30) Гб,
таким вот мелким обманом дурят потребителей. Например, диск якобы
120 Гбайт, после форматирования будет иметь размер - 111,75 Гбайт,
и даже чуть меньше, т.к. что часть места идет под файловую систему.

P.S. Большое количество мелких файлов лучше всегда архивировать,
если они не используются все по отдельности какой-либо программой.

VAR
Цитата:
Если сетка ячеек недостаточно мелкая
Да-да... В глубоком детстве тоже заметил, что в тени, отбрасываемой
клеткой с кроликом, некоторые ячейки клетки загорожены частично
Однако, в отличие от файла кролик не имеет наклонности фрагменти-
роваться при увеличении размера, но трудно поддается компрессии
Paul Kellerman вне форума   Ответить с цитированием
Реклама