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


sys.dm_os_linux_vm_stats (Transact-SQL)

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

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

Имя столбца Тип данных Нуллибельный Description
vm_metric_name nvarchar(256) нет Имя метрики виртуальной памяти.
count bigint нет Соответствующая статистика для этой метрики.

Permissions

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

Замечания

sys.dm_os_linux_vm_stats обеспечивает наблюдаемость памяти на уровне системы, которая помогает анализировать нагрузку на память, ошибки страницы, действие восстановления, неоднородное поведение доступа к памяти (NUMA) и сопоставлять производительность SQL Server с общей работоспособностью памяти ОС.

Каждая строка представляет одну метрику виртуальной памяти, обычно полученную из интерфейсов Linux, таких как /proc/vmstat. Доступность метрик и значение могут отличаться от дистрибутива Linux, версии ядра и конфигурации.

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

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

Распространенные сценарии использования sys.dm_os_linux_vm_stats :

  • Изучение событий вне памяти (OOM) на узлах Linux.
  • Сопоставление симптомов памяти SQL Server с действием восстановления ОС.
  • Общие сведения о поведении памяти, связанной с NUMA, в системах с несколькими узлами.
  • Выполнение глубокого наблюдения на уровне ОС непосредственно из Transact-SQL.

Примеры

А. Просмотр всей статистики виртуальной памяти

Следующий запрос возвращает все доступные метрики виртуальной памяти, сообщаемые ядром Linux:

SELECT *
FROM sys.dm_os_linux_vm_stats;

В. Определение действия сбоя страницы

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

SELECT vm_metric_name,
       count
FROM sys.dm_os_linux_vm_stats
WHERE vm_metric_name IN ('pgfault', 'pgmajfault');

С. Мониторинг локальности памяти NUMA

Возвращает метрики виртуальной памяти, связанные с NUMA, чтобы понять локальность памяти между узлами:

SELECT vm_metric_name,
       count
FROM sys.dm_os_linux_vm_stats
WHERE vm_metric_name LIKE 'numa%';

D. Анализ действия для восстановления памяти и сжатия

Следующий запрос помогает диагностировать поведение восстановления памяти и давление на сжатие памяти в системе:

SELECT vm_metric_name,
       count
FROM sys.dm_os_linux_vm_stats
WHERE vm_metric_name LIKE 'pgsteal%'
      OR vm_metric_name LIKE 'pgscan%'
      OR vm_metric_name LIKE 'compact%';