Я использую Debian Testing без каких-либо проблем уже около 6 лет (просто регулярно обновляю его), но недавно он начал демонстрировать случайное поведение, которое можно охарактеризовать как «Низкая производительность ввода-вывода, которая сохраняется до перезагрузки».
Проблема в том, что внезапно все чтение и запись на диск замедляются до ~5 МБ/сек, что приводит к непрерывному чтению и записи. Поскольку скорость настолько низкая, диски не подвергаются механической нагрузке или стрессу, но все замедляется, пока я не перезагружу.
Подсистема ввода-вывода компьютера состоит из одного твердотельного накопителя OCZ Vertex 3 и двух жестких дисков WD Caviar Black. На твердотельном накопителе хранится часть ОС, требующая интенсивного чтения, а раздел на жестком диске — остальная часть.
Чтобы диагностировать проблему, я попробовал следующее, но безуспешно:
top
не показывает никакой неконтролируемой активности ни в использовании ЦП, ни в использовании ввода-вывода.hdparm
возвращает нормальные оценки производительности дисков (-t
хотя я только проверил).smartctl
не показывает никаких проблем с производительностью дисков. Длительные тесты показали, что диски как новые.
Система имеет чипсет Z77, 16 ГБ ОЗУ и процессор Intel i7 3770K, и статистика не показывает признаков насыщения ОЗУ, ввода-вывода или процессора, но у меня нет опыта отладки таких проблем (особенно в пространстве ядра). Любая помощь будет оценена по достоинству.
Обновление 1:
- Я запустил (принудительно) fsck на каждом разделе в качестве меры предосторожности. Все ФС чистые.
- Случайно я нашел обновление BIOS, которое вышло месяц назад, и применил его.
- Ни один раздел не заполнен более чем на 50%.
Обновление 2:
Проблема не всплывает уже два дня. Либо fsck
обновление BIOS очистило некоторые засоры в системе. Я все еще слежу за проблемой и закрою вопрос с ответом после смерти.
Обновление 3:
Проблема только что снова всплыла, и я покопался еще. Пожалуйста, посмотрите ответ.
решение1
Мне удалось воспроизвести проблему снова, и это было результатом большого дискового кэша. Мои дисковые кэши могут вырасти более чем на 8 ГБ, и, похоже, некоторым приложениям это не нравится, и I/O страдает.
Удаление дисковых кэшей с echo 3 > /proc/sys/vm/drop_caches
правами root решает проблему. В настоящее время я не знаю, почему большие дисковые кэши вызывают эту деградацию ввода-вывода.
Последнее обновление:После более тщательного расследования я выяснил, что причиной проблемы было количество файлов в кэше. Он засорял диски при попытке зафиксировать много маленьких файлов обратно на диск. Поскольку я пользовался системой десять лет, я решился и переустановил ее на 64-битный Debian. Теперь все работает гладко. Вероятно, это был побочный эффект десяти лет обновлений с обнаружением ограничений 32-битной операционной системы.
решение2
Есть ли какие-либо подозрительные сообщения в dmesg
?
Еще несколько инструментов, которые вы можете попробовать использовать, чтобы получить представление об узких местах вашей системы:
- дстат
- задержкатоп
- сиспроф