9 Заметки о параметре типпамяти в элементах данных proc.mem

Обзор

Параметр типпамяти поддерживается на платформах Linux, AIX, FreeBSD, и Solaris.

Три общих значения 'типапамяти' поддерживаются на всех этих платформах: pmem, rss и vsize. Кроме того, также поддерживаются специфичные значения 'типапамяти' на некоторых платформах.

AIX

Смотри в таблице значения поддерживаемые параметром 'типпамяти' на AIX.

Поддерживаемое значение Описание Источник в структуре procentry64 Пытается быть совместимым с
vsize (( - значение по умолчанию)) Размер виртуальной памяти pi_size
pmem Процент физической памяти pi_prm ps -o pmem
rss Резидентный размер набора pi_trss + pi_drss ps -o rssize
size Размер процесса (код + данные) pi_dvm "ps gvw" колонка SIZE
dsize Размер данных pi_dsize
tsize Размер текста (кода) pi_tsize "ps gvw" колонка TSIZ
sdsize Размер данных из разделяемой библиотеки pi_sdsize
drss Резидентный размер набора данных pi_drss
trss Резидентный размер набора текста pi_trss

FreeBSD

Смотри в таблице значения поддерживаемые параметром 'типпамяти' на FreeBSD.

Поддерживаемое значение Описание Источник в структуре kinfo_proc Пытается быть совместимым с
vsize Размер виртуальной памяти kp_eproc.e_vm.vm_map.size или ki_size ps -o vsz
pmem Процент физической памяти вычисляется из rss ps -o pmem
rss Резидентный размер набора kp_eproc.e_vm.vm_rssize или ki_rssize ps -o rss
size (( - значение по умолчанию)) Размер процесса (код + данные + стэк) tsize + dsize + ssize
tsize Размер текста (кода) kp_eproc.e_vm.vm_tsize или ki_tsize ps -o tsiz
dsize Размер данных kp_eproc.e_vm.vm_dsize или ki_dsize ps -o dsiz
ssize Размер стэка kp_eproc.e_vm.vm_ssize или ki_ssize ps -o ssiz

Linux

Смотри в таблице значения поддерживаемые параметром 'типпамяти' на Linux.

Поддерживаемое значение Описание Источник из /proc/<pid>/status файла
vsize (( - значение по умолчанию)) Размер виртуальной памяти VmSize
pmem Процент физической памяти (VmRSS/total_memory) * 100
rss Резидентный размер набора VmRSS
data Размер сегмента данных VmData
exe Размер сегмента кода VmExe
hwm Пиковый резидентный размер набора VmHWM
lck Размер заблокированной памяти VmLck
lib Размер разделяемых библиотек VmLib
peak Пиковый размер виртуальной памяти VmPeak
pin Размер закрепленных страниц VmPin
pte Размер страниц записей таблицы VmPTE
size Размер сегментов кода + данных + стэка VmExe + VmData + VmStk
stk Размер сегмента стэка VmStk
swap Размер используемого места в разделе подкачки VmSwap

Заметки для Linux:

  1. Не все значения 'типапамяти' поддерживаются старыми версиями ядра Linux. Например, ядра Linux 2.4 не поддерживают значения hwm, pin, peak, pte и swap.
  2. Мы заметили, что процесс само-диагностики активных проверок Zabbix агента с proc.mem[...,...,...,...,data] отображает значение, которое на 4 КБ больше, чем отдает VmData строка в файле агента /proc/<pid>/status. Во время самостоятельного измерения сегмент данных агента увеличивается на 4 КБ и затем возвращается к предыдущему значению.

Solaris

Смотри в таблице значения поддерживаемые параметром 'типпамяти' на Solaris.

Поддерживаемое значение Описание Источник в структуре psinfo Пытается быть совместимым с
vsize (( - значение по умолчанию)) Размер образа процесса pr_size ps -o vsz
pmem Процент физической памяти pr_pctmem ps -o pmem
rss Резидентный размер набора
Он может быть недооценен - см. описание rss в "man ps".
pr_rssize ps -o rss
Footnotes

1 Default value.