Назад | Перейти на главную страницу

Процессы с интенсивным вводом-выводом зависают с iowait, но никакой активности не происходит

У меня есть несколько заданий с интенсивным вводом-выводом, и для повышения производительности я просто установил два твердотельных накопителя на вычислительный сервер, один в качестве временной файловой системы, другой в качестве подкачки. По прошествии некоторого времени все мои процессы зависают в состоянии «D», не потребляют ресурсы ЦП, и система сообщает о простое 67% и ожидании 33%. Iostat показывает нет дисковая активность продолжается, а в остальном система реагирует, включая соответствующие файловые системы. Присоединение к процессам "strace" не дает результата.

Заглянув в / proc / (pid) / fd, я обнаружил, что все процессы используют (читают) один общий файл. Я не вижу причин, по которым это должно вызвать проблему, но я заменил файл, убил процессы и позволил всему продолжаться (т.е. будут запущены новые процессы). Посмотрим, застрянет ли что-то в новом файле, в другом файле или - в идеале - совсем нет :-)

Я также нашел пару таких в kern.log:

BUG: unable to handle kernel paging request at ffffeb8800096e5c

Много другой информации, но я не знаю, как ее расшифровать, за исключением того, что она относится к PID и имени одного из моих процессов.

Есть идеи, что здесь происходит или как это исправить? Это на Ubuntu 12.04 LTS, Dell-something box с контроллером диска RocketRaid и файловой системой btrfs.

Похоже, это может быть проблема с памятью. Загрузите memtest и проверьте свой баран.