Я купил внешний жесткий диск Seagate Expansion 5 ТБ и начал клонировать репозитории git, в которые я внес вклад.

Существует большой репозиторий git (~ 16 ГБ, 1 ГБ - просто каталог .git ): после клонирования его на моем жестком диске жесткий диск начал работать очень медленно. Сначала я подумал, что это просто проблема с форматированием.

Благодаря гарантийному обслуживанию я получил новый HDD, точно такой же модели.

Теперь я повторяю весь процесс, и все шло гладко (~300MB/sec). Затем я клонировал этот большой репозиторий, и теперь все мои данные на жестком диске потенциально потеряны. Я начал копировать его с моего компьютера, но он очень медленный (~18kB/sec):

Я позаботился о том, чтобы HDD не сломал его, но похоже, что этот репозиторий потенциально может его испортить.

Мне интересно, это аппаратная проблема или нет. Ребята из гарантийного сервиса не сказали мне ничего о том, в чем проблема. Они только что отправили мне новый жесткий диск.

Я использую Ubuntu 15.10. Здесь жесткий диск работает, но он очень медленный. На машинах Windows это не работает вообще. Весь файловый менеджер вылетает.

Как я могу решить проблему? Может ли git-репозиторий испортить такой жесткий диск?

Почему это так медленно только после клонирования этого конкретного хранилища? Я действительно скопировал много ГБ данных раньше, и это было быстро.

1 ответ1

2

Если вы не знаете, какая у вас операционная система, то это игра в догадки, но в некоторых случаях и в файловых системах существует возможность чтения с диска, что приводит к одновременной записи на диск, в то время как система обновляет время "обращения" файл.

Если диск имеет 4 тыс. Секторов, а ваша файловая система использует 512-байтовые секторы, то происходит потеря производительности, когда выполняется небольшая запись в другие 7 512-байтовые блоки в этом "реальном" секторе. По сути, каждый раз, когда необходимо изменить любой из этих 8 логических (файловых) секторов, накопитель должен сначала прочитать весь блок 4 КБ, изменить его, а затем записать обратно.

Объедините это с последним временем доступа, и у вас может быть много времени, модифицируя блоки бессмысленными данными учета, а не фактически читая или записывая данные.

В Linux вы можете отключить это время последнего доступа, указав параметр монтирования noatime при монтировании диска.

Пример fstab:

/dev/sda7          /chroot          ext2          defaults,noatime          1  2

От http://tldp.org/LDP/solrhe/Securing-Optimizing-Linux-RH-Edition-v1.3/chap6sec73.html

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .