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

Как интерпретировать загрузку системы на виртуальном сервере?

Я понимаю, что загрузка системы, о которой сообщает linux 'top', - это среднее количество процессов, ожидающих процессорного времени, и поэтому вы должны учитывать количество ядер процессора при интерпретации нагрузки. Таким образом, нагрузка 4 на 4-ядерную систему примерно равна нагрузке 1 на одноядерную систему.

Мой вопрос: верно ли это также для виртуальных серверов, где ядра ЦП не отображаются напрямую на процессоры?

В виртуализированной среде с точки зрения хоста виртуальные процессоры гостевой виртуальной машины представляют собой просто процессы (или потоки) выполнения. Их не нужно запускать на отдельном процессоре или с точным номером центрального процессора.

Хотя, если задачи, эмулирующие виртуальный процессор гостя, выполняются один к одному с центральным процессором хоста, то есть ровно один поток выполнения, привязанный к одному процессору хоста, то у него есть большое преимущество: он позволяет гостевая виртуальная машина, чтобы оптимизировать свои задачи, как если бы она находилась в невиртуализированной среде.


Вопрос о нагрузке практически отдельный от этого. Под нагрузкой понимается среднее количество выполняемых процессов, которым может быть выделен временной интервал в расписании задач. В упрощенной форме это означает: «если простая однопоточная задача попытается выделить столько ЦП, сколько может, может получить 1 / загрузка ЦП». Таким образом, если загрузка равна 5, то «средние» процессы могут получать 20% времени процессора. Он находится на одном процессоре для однопоточных процессов.

Неважно, виртуальные эти процессоры или нет. В большинстве сценариев виртуализации хост ничего не знает о процессы гостя он может видеть только процессор гостя, как его темы. Но это не меняет определения нагрузки на систему, неважно, виртуализированная это система или хост.


С практической точки зрения этот вопрос имеет лишь ограниченное значение, потому что практические проблемы, с которыми сталкиваются профессиональные системные администраторы, в основном связаны лишь с некоторыми проблемами, связанными с отказом процессора. В большинстве случаев проблемы возникают из-за возможности настройки, автоматизации и избыточной доступности системных ресурсов.

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