1

Я запускаю Linux Box на Seagate Free Agent Dockstar, очень ограниченной машине, но более чем способной сделать то, что мне нужно, что верно в большинстве случаев ...

У меня операционная система на флеш-накопителе и внешний USB 2 "классический магнитный" жесткий диск Western Digital 1,5 ТБ для хранения больших объемов данных.

Не редко случается так, что ожидание IO% внезапно достигает почти 100%, и система стоит на коленях, до такой степени, что в ней очень трудно даже ssh; типичный «iostat -x» в таких ситуациях выдает результат вроде:

Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sda 0.00 0.00 0.00 0.50 0.00 2.00 8.00 14.80 91400.00 0.00 91400.00 2000.00 100.00

где sdb - это флэш-накопитель, а sda - это USB-диск. Это говорит мне о том, что USB-накопитель занят на 100%, но почти никто не пишет и не читает с него.

Я также использовал «lsof +D» во время "нормального" использования, и ничего подозрительного не было найдено: используется достаточное количество файлов, но ничего странного.

Как я могу отладить глубже? Имейте в виду, что машина использует процессор ARM, имеет только 128 МБ ОЗУ и не имеет экрана или локальной консоли, но, учитывая эти ограничения, я могу установить почти все, если это необходимо.

Изменить: Я также попытался запустить Smartctl, который говорит, что диск подходит:

Результат теста самооценки SMART общего состояния здоровья: ПРОЙДЕН

... есть много выхода, но ничего из этого не кажется полезным

Edit2:

Я действительно думаю, что диск имеет проблемы с оборудованием; Я заметил, что когда он загружен на 100% без нагрузки, он издает повторяющийся шум, который напоминает мне о старых гибких дисках Amiga - они производили похожий шум, как будто они ходили без цели ...

По этой причине предложение перенести /var и /tmp на магнитный диск только ухудшило ситуацию.

Я думаю, что единственный способ решить эту проблему - это купить новый жесткий диск и сделать резервную копию ценных данных как можно скорее. :-(

2 ответа2

1

Дважды проверьте, что диск WD в порядке. Я только что обнаружил, что один из моих читал ошибки. Потребовалось огромное количество времени (минут), чтобы прочитать некоторые плохие секторы. К сожалению, SMART может не работать через USB, что затрудняет проверку состояния дисков.

Один из способов проверить это - прочитать весь диск с помощью dd:

dd if=/dev/sdX of=/dev/null bs=1M

Это займет некоторое время по USB, но если вы ошиблись командой dd, значит, диск поврежден. Вы можете читать диск, пока он смонтирован, но будьте осторожны с if= и of= !

0

Флэш-накопители обычно имеют низкую производительность записи. Поэтому вам нужно минимизировать количество операций записи на флэш-диск.

  • Используйте опции noatime в fstab для вашего раздела / и /usr .
  • Отключить своп
  • Если возможно, поместите /var на что-нибудь другое (это "хранилище", если возможно), если нет, отключите все записи, которые вам не нужны.
  • То же самое и с /tmp .

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