Из-за временных ограничений на территории РФ наблюдаются проблемы с оплатой. Если платёж не проходит, оставьте запрос в службу поддержки.Служба поддержки работает 24/7 — мы всегда на связи по вопросам хостинга и серверов.Открыт прием заявок на аренду выделенных серверов и размещение оборудования в дата-центре.Напоминаем: рекомендуем включить резервное копирование для дополнительной защиты данных.Доступна новая линейка VPS/VDS с NVMe-дисками и увеличенной производительностью.Технические работы на части серверов завершены. Все сервисы работают в штатном режиме.
Статья5 мин чтенияПросмотры0

Steal time на VPS: как проверить ожидание процессора в Linux

Столбец st помогает заметить ожидание CPU на уровне виртуализации. Короткая проверка vmstat, границы её результата и данные для предметного обращения к провайдеру.

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

Процессор рядом с песочными часами на графитовом фоне: иллюстрация ожидания вычислительного времени.
В этой статье

Во время импорта каталога магазин отвечает медленно, но ни один процесс внутри VPS не выглядит особенно занятым. У виртуальной машины есть ещё один возможный источник задержки: её виртуальный процессор готов работать, а физический процессор пока не предоставлен. В Linux часть такого ожидания отражает steal time. Сначала стоит проверить, наблюдалось ли оно в нужный момент, и лишь затем обсуждать причины с провайдером.

Руководство предназначено для администратора VPS с Ubuntu 24.04 LTS и утилитой vmstat из procps-ng 4.0.4. Нужен разрешённый терминальный доступ в гостевую ОС и чтение системной статистики procfs. Обычно для приведённых команд достаточно обычного пользователя. Отказ доступа не следует обходить повышением прав. Для контейнера внутри VPS область видимой статистики нужно выяснять отдельно: её нельзя автоматически считать показателями именно этого контейнера.

Что измеряет steal time

Гипервизор распределяет процессорное время между виртуальными машинами. В документации Linux для KVM steal time описывает время, когда виртуальный процессор не выполнялся; его собственный простой в этот показатель не включается. В выводе vmstat нужный столбец называется st и выражен в процентах общего процессорного времени. Это не процент, который использует конкретный процесс магазина.

Из гостевой машины можно увидеть след ожидания, но нельзя по нему назвать соседнюю виртуальную машину или доказать нарушение условий тарифа. Для такого вывода нужны сведения со стороны хоста и правила выделения ресурсов. Значение зависит и от поддержки учёта в связке гипервизора и гостевой ОС. Нулевой результат в короткой выборке не подтверждает отсутствие всех ограничений производительности.

Снимите короткую выборку в момент задержки

  1. Проверьте установленную утилиту:

    vmstat --version

    Для описанного варианта ожидается семейство procps-ng версии 4.0.4. Если команда отсутствует или вывод относится к другой реализации, остановитесь и проверьте документацию среды. Установка пакетов в эту инструкцию не входит.

  2. Запишите время наблюдения и часовой пояс, затем получите шесть отчётов с секундным интервалом:

    vmstat 1 6

    Первый отчёт по CPU усредняет время с загрузки системы. Для текущего эпизода смотрите следующие пять строк. Команда завершится сама; вывод не является записью длительного инцидента. Это ограниченная выборка чтения, а не нагрузочный тест. Не запускайте множество таких наблюдений одновременно.

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

Команды сверены с официальным руководством Ubuntu Noble 27 сентября 2026 года и выполнены в изолированной среде Ubuntu 24.04.3 с procps-ng 4.0.4. Получены шесть строк; во всех st равнялся нулю. Проверены запуск и формат вывода. Конкуренция за CPU на реальном узле виртуализации не воспроизводилась, поэтому этот запуск не проверяет поведение VPS под такой нагрузкой.

Сравните ожидание с работой внутри машины

Соседние столбцы помогают выбрать направление: us отражает выполнение пользовательского кода, sy — кода ядра, id — простой. Значение wa связано с ожиданием ввода-вывода. Для wa документация ядра отдельно описывает ограничения учёта, поэтому его нельзя считать точным измерением задержки диска. Сохранить полный заголовок полезнее, чем передавать одну цифру без названия показателя.

Условный пример: после первой строки в пяти секундных отчётах st последовательно равен 0, 12, 18, 0 и 0. Среднее этих пяти равно 6%. Но такой средний показатель скрывает два коротких всплеска. Если медленный запрос пришёлся именно на них, появляется гипотеза о влиянии ожидания CPU. Это учебные числа, а не результат нашего запуска и не допустимый порог для любого VPS.

Из этих 6% нельзя вывести, что каждый запрос магазина выполнялся на 6% дольше. Задачи различаются по потребности в CPU, могут ждать базу или внешний сервис; усреднение по процессорам и времени теряет детали. Для связи с пользовательским симптомом нужны интервалы запроса и наблюдения. Даже их совпадение поддерживает гипотезу, но само по себе ещё не доказывает единственную причину.

Если преимущественно растёт работа пользовательского кода при низком st, следующий вопрос — какие процессы и операции занимают CPU. Если повторяется заметное ожидание виртуального процессора, полезны сведения провайдера о выделении времени на хосте. Оба явления могут существовать одновременно. Покупка дополнительных виртуальных процессоров без понимания ограничения не даёт гарантии, что задержка исчезнет.

Передайте провайдеру проверяемый эпизод

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

Если для дальнейшей проверки предлагают перезагрузку, миграцию или изменение тарифа, это уже отдельная операция: заранее согласуйте влияние на доступность, сохранность данных и проверку результата. Сам показатель st не предписывает ни одного из этих действий. Полезный итог короткого наблюдения — установить, было ли зафиксировано ожидание виртуального процессора в момент проблемы, и передать следующий вопрос тому, у кого есть данные хоста.

Обсуждение 0

Делись опытом и задавай вопросы. Комментарии без ссылок появляются после проверки редактором.

Пока никто не написал. Начни обсуждение.