У нас есть выделенный сервер, на котором запущено несколько небольших гостевых виртуальных машин, содержащих, например, HTTP-сервер, MySQL и некоторые приложения реального времени.
Однако мы находим, что это JBD внутри гостевых систем часто достигает 100% использования диска примерно каждые 5-10 секунд. Это приводит к зависанию приложений реального времени на ~ 500-1000 мс, когда они пытаются выполнить доступ к диску, потому что он слишком занят.
В файлах журналов и использовании noatime нет значительной активности, nobarrier, и мы не можем отключить журнал. MySQL и HTTP-сервер выполняют некоторые операции ввода-вывода, но не на 100%.
Если в этом конкретном случае, было большое использование ввода-вывода вызывается заданием cron, регулярно выполняющим набор команд chmod и chown. На невиртуальном хосте эти команды выполнялись намного быстрее, но внутри виртуального хоста эти команды выполнялись намного медленнее и приводили к большому времени ожидания диска.
Удалив этот набор команд, производительность вернулась к норме и мы больше не испытывали странных зависаний.