Будет ли запись миллион раз в файл испортить мой жесткий диск?
У меня есть программа интенсивного моделирования ввода-вывода, которая записывает трассировку / данные моделирования в файл на каждой итерации. Поскольку моделирование выполняется более миллионов итераций или около того и записывает данные в файл на диске (каждый раз перезаписывает файл), мне интересно знать, не испортит ли это жесткий диск, так как большая часть диска хранения имеет верхний предел циклы записи / стирания (например, флэш-диск допускает до 100 000 циклов записи / стирания). Будет ли лучше разделить файл на несколько файлов?
2 ответа
Вы должны признать, что миллион вызовов для записи в один файл может записать запись в каждый блок диска только один раз, что не повредит магнитным дискам или устройствам SSD. Если вы перезаписываете первый блок файла миллион раз, вы рискуете изнашиваться, но существует множество смягчающих факторов. Во-первых, если это один прогон программы, то o/s, скорее всего, сохранит образ диска в памяти, не записывая его на диск вообще, если, возможно, вы не используете журналированную файловую систему. Если это журнальная файловая система, то фактическая запись будет распределена по множеству различных блоков.
Если вам удастся миллион раз выполнить запись в один и тот же блок на магнитно-вращающемся жестком диске, вы все равно не подвергаетесь серьезному риску износа диска.
Поиск в Google по "циклам записи на жесткий диск" показывает много информативных статей (более конкретно, возможно, о SSD), и связанные поиски могут также помочь вам.
На SSD существует ограниченное количество записей (или циклов стирания, чтобы быть более точным) в любой конкретный блок. Вероятно, это больше, чем от 100К до 1 миллиона для каждого конкретного блока, и SSD использует "износ нагрузки", чтобы избежать ненужных "записей" в один и тот же блок каждый раз. SSD могут записывать только нули, поэтому, когда вы "сбрасываете" бит в единицу, вы должны стереть весь блок. [Можно поставить инвертор на ячейку, чтобы сделать его наоборот, но вы получаете один или два, так что это мало поможет].
Настоящие жесткие диски - это скорее механическое устройство, поэтому не столько от того, сколько раз вы пишете в одно и то же место, сколько от движений головы.
Я бы не слишком волновался об этом. Написание одного файла должно быть хорошо, оно не имеет большого значения, есть ли у вас один файл или несколько.