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

KVM Guest показывает высокую загрузку ЦП на хосте, но не в гостевой системе

Хост - это сервер Ubuntu 10.04. 8 физических ядер. Гость - Ubuntu 12.04; на нем выделено два процессора. У меня есть другие виртуальные машины, но последние несколько дней я запускал только одну гостевую.

Сверху внутри гостевые отчеты загружаются с .05 - .20. Хост видит этот процесс kvm на 80–120% ЦП и поддерживает общую нагрузку около 1–1,2. У хоста нет другой нагрузки, кроме приема гостей.

Это не проблема с ksmd, хотя у меня эта проблема и отключил ksmd после того, как поигрался с разными значениями, но не получил реального удовлетворения от производительности. В противном случае параметры KVM устанавливаются по умолчанию пакетами Ubuntu.

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

Идеи?

Оказалось, что гость занижал использование процессора. Я полностью выполнил ту же рабочую нагрузку на другом гостевом компьютере, и он использовал ресурсы ЦП примерно на том же уровне, что и мой хост KVM. Это не было сравнение яблок с яблоками, но это был значимый результат.

Тогда у меня был настоящий прорыв. Я заметил, что для этого гостя я по ошибке использовал виртуальный контроллер «SCSI». Я изменил его на Virtio, и произошли две вещи: загрузка центрального процессора немного снизилась, а гостевой процессор увеличился - он сообщил почти так же, как и хост, как мы и ожидали.

Если это не отображается в гостевой системе, но процесс виртуальной машины на хосте использует ЦП, вы знаете, что это накладные расходы. Мне действительно интересно, может ли он тратить все это время на обслуживание аппаратных прерываний от имени гостя путем опроса или чего-то еще? Либо так, либо вы нашли ошибку.