Открыть список
Как стать автором
Обновить

Комментарии 8

Хабр снова торт! Уж сколько всего знал, даже нюансы про расчет LA, но steal прошел мимо. Отличная статья, спасибо.
Спасибо за отзыв, рад, что статья оказалась полезной.

Да, вот вроде и понятно примерно было о чем это, но после такой статьи — всё встало по полочкам окончательно. Теперь плюс одна метрика с осознанным смыслом.

Благодарю.
Очень долго гуглил и очень сильно надеялся и до сих пор надеюсь на хоть какую-то мизерную возможность получения информации о %steal у Windows. И что-то мне подсказывает, что задача реализуема. Как думаете?
Нет, собрать steal из windows нельзя, и не думаю, что когда-нибудь будет можно. Косвенно его можно будет собрать, замеряя время работы каких-нибудь утилит, которые активно используют процессор.
По steal на AWS EC2 очень хорошо видно, как гипервизор зажимает инстансы t1/t2/t3 когда у них кончаются CPU Credits.
Например, для t3.nano гарантируют базовую производительность 5% при отсутствии кредитов. Тогда при продолжительной постоянной полной загрузке процессора, steal будет стремиться к 95%, чтобы у вас было не больше этих самых обещанных 5%.
Ну или будут автоматически добавляться кредиты за $$, но это уже совсем другая история.
Кредитный шедулер это немного другая история и она управляется по-другому, KVM так не умеет, но с точки зрения виртуалки, да это выглядет как стил.
Очень удивил пост. Будто в родной огород граблей подсыпали, поэтому стало в огороде снова непонятно что. Повод на поразмыслить уж точно появляется.
Ещё хуже, когда процессы внутри виртуалки пытаются заполучить больше процессора, потому что не справляются с обработкой данных. Тогда операционная система на гипервизоре, за счёт честной оптимизации, будет давать всё меньше процессорного времени. Этот процесс происходит лавинообразно, и steal подскакивает до небес, хотя остальные виртуалки его могут почти не замечать. И чем больше ядер, тем хуже попавшей под раздачу машине. Короче говоря, больше всего страдают высоконагруженные виртуалки со множеством ядер.

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