Поделиться через


sys.dm_os_linux_cpu_stats (Transact-SQL)

Применимо к: SQL Server 2025 (17.x) в Linux

Возвращает таблицу с подробной статистикой ЦП Linux, предлагающей аналитические сведения на уровне системы за пределами SQL Server, в SQL Server 2025 (17.x) накопительного обновления (CU) 1 и более поздних версий.

Имя столбца Тип данных Нуллибельный Description
uptime_secs float нет Секунды после запуска системы.
loadavg_1min float нет Количество заданий в очереди выполнения (готовых или ожидающих ввода-вывода диска) в течение 1 минуты.
user_time_cs bigint нет USER_HZ тратится в пользовательском режиме.
nice_time_cs bigint нет USER_HZ тратится в пользовательском режиме с низким приоритетом (nice).
system_time_cs bigint нет USER_HZ тратится в системном режиме.
idle_time_cs bigint нет USER_HZ потрачено на неактивную задачу.
iowait_time_cs bigint нет USER_HZ ожидает завершения ввода-вывода.
irq_time_cs bigint нет USER_HZ прерывания обслуживания.
softirq_time_cs bigint нет USER_HZ обслуживание SoftIRQs.
interrupt_cnt bigint нет Количество прерываний, обслуживаемых с момента запуска системы.
csw_cnt bigint нет Число переключений контекста с момента запуска системы.
boot_time_secs bigint нет Время загрузки в секундах с эпохи Unix.
total_forks_cnt bigint нет Количество вилок с момента запуска системы.
proc_runable_cnt bigint нет Количество процессов в состоянии запуска.
proc_ioblocked_cnt bigint нет Количество процессов, заблокированных в ожидании ввода-вывода.
C3_time bigint нет Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.
C2_time bigint нет Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.
C1_time bigint нет Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.
C3_count bigint нет Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.
C2_count bigint нет Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.
C1_count bigint нет Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

Permissions

Необходимо разрешение VIEW SERVER PERFORMANCE STATE на сервере.

Замечания

Эта динамическое административное представление предоставляет накопительную статистику с момента запуска системы.

Значения не ограничиваются действием SQL Server. Они отражают весь узел Linux.

Дополнительные сведения о интерпретации статистики ЦП Linux см. на proc_stat(5) странице вручную для дистрибутива.

Используйте это динамическое административное представление с другими динамическими представлениями linux для комплексного мониторинга:

Сценарии использования

  • Диагностика насыщенности ЦП: использование loadavg_1minи proc_runable_cntuser_time_cs определение того, находится ли система под тяжелой нагрузкой ЦП.

  • Исследование ожиданий ввода-вывода: высокие iowait_time_cs или proc_ioblocked_cnt значения могут указывать на узкие места хранилища.

  • Анализ скорости реагирования системы: частые переключения контекста (csw_cnt) или прерывания (interrupt_cnt) могут сигнализировать о проблемах с системным планированием или оборудованием.

  • Сопоставляйте производительность SQL Server с системным действием: так как эти метрики являются системными, они помогают различать проблемы, связанные с SQL Server, и более широкие проблемы на уровне ОС.

Примеры

А. Текущая статистика ЦП для системы

Используется sys.dm_os_linux_cpu_stats для получения текущей статистики ЦП для системы. Этот пример представляет собой однократный моментальный снимок, показывающий распространенные сигналы, которые группы операций часто отслеживают.

SELECT GETDATE() AS sample_time,
       uptime_secs,
       loadavg_1min,
       proc_runable_cnt,
       proc_ioblocked_cnt,
       interrupt_cnt,
       csw_cnt,
       user_time_cs,
       system_time_cs,
       idle_time_cs,
       iowait_time_cs
FROM sys.dm_os_linux_cpu_stats;

В. Сопоставление давления узла с планировщиками SQL

Выполните следующий пример запроса, чтобы получить моментальный снимок узла.

SELECT loadavg_1min,
       proc_runable_cnt,
       proc_ioblocked_cnt,
       interrupt_cnt,
       csw_cnt
FROM sys.dm_os_linux_cpu_stats;

Следующий запрос возвращает сведения о давлении планировщика SQL, за исключением DAC и скрытых планировщиков.

Если планировщики показывают высокий runnable_tasks_count уровень и узел loadavg_1min больше, чем количество ЦП с повышенными привилегиями proc_runable_cnt, система, скорее всего, привязана к ЦП. Если запуск SQL является низким, но скорость ожидания ввода-вывода узла proc_ioblocked_cnt высока, хранилище является вашим подозреваемым.

Замечание

Метрики узлов являются системными и не ограничиваются SQL Server.

SELECT scheduler_id,
       runnable_tasks_count,
       current_tasks_count,
       work_queue_count,
       is_online,
       is_scheduler_online,
       load_factor
FROM sys.dm_os_schedulers
WHERE scheduler_id < 255;