Параметр тип памяти поддерживается на платформах Linux, AIX, FreeBSD и Solaris.
Три общих значения 'типа памяти' поддерживаются на всех этих платформах: pmem
, rss
и vsize
. В дополнение, для некоторых платформ поддерживаются специфичные для этих платформ значения 'типа памяти'.
Смотри значения поддерживаемые параметром 'типа памяти' на AIX в таблице.
Поддерживаемое значение | Описание | Источник в структуре procentry64 | Пытается быть совместимым с |
---|---|---|---|
vsize 1 | Размер виртуальной памяти | 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 |
Notes for AIX:
Example:
\$ zabbix_agentd -t proc.mem[,,,NonExistingProcess,rss]
proc.mem[,,,NonExistingProcess,rss] [u|2879488]
This example shows how specifying only command line (regular expression to match) parameter results in Zabbix agent self-accounting - probably not what you want.
Do not use "ps -ef" to browse processes - it shows only non-kernel processes. Use "ps -Af" to see all processes which will be seen by Zabbix agent.
Let's go through example of 'topasrec' how Zabbix agent proc.mem[] selects processes.
\$ ps -Af | grep topasrec
root 10747984 1 0 Mar 16 - 0:00 /usr/bin/topasrec -L -s 300 -R 1 -r 6 -o /var/perf daily/ -ypersistent=1 -O type=bin -ystart_time=04:08:54,Mar16,2023
proc.mem[] has arguments:
proc.mem[<name>,<user>,<mode>,<cmdline>,<memtype>]
The 1st criterion is a process name (argument <name>). In our example Zabbix agent will see it as 'topasrec'. In order to match, you need to either specify 'topasrec' or to leave it empty. The 2nd criterion is a user name (argument <user>). To match, you need to either specify 'root' or to leave it empty. The 3rd criterion used in process selection is an argument <cmdline>. Zabbix agent will see its value as '/usr/bin/topasrec -L -s 300 -R 1 -r 6 -o /var/perf/daily/ -ypersistent=1 -O type=bin -ystart_time=04:08:54,Mar16,2023'. To match, you need to either specify a regular expression which matches this string or to leave it empty.
Arguments <mode> and <memtype> are applied after using the three criteria mentioned above.
Смотрите значения поддерживаемые параметром 'типа памяти' на 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 в таблице.
Поддерживаемое значение | Описание | Источник из /proc/<pid>/status файла |
---|---|---|
vsize 1 | Размер виртуальной памяти | 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:
hwm
, pin
, peak
, pte
и swap
.proc.mem[...,...,...,...,data]
отображает значение, которое на 4 КБ больше, чем отдает строка VmData
в файле агента /proc/<pid>/status. Во время самостоятельного измерения сегмент данных агента увеличивается на 4 КБ и затем возвращается к предыдущему значению.Смотрите значения поддерживаемые параметром 'типа памяти' на Solaris в таблице
Поддерживаемое значение | Описание | Источник в структуре psinfo | Пытается быть совместимым с |
---|---|---|---|
vsize (( - значение по умолчанию)) | Размер образа процесса | pr_size | ps -o vsz |
pmem | Процент физической памяти | pr_pctmem | ps -o pmem |
rss | Резидентный размер набора Он может быть недооценен - см. описание rss в "man ps". |
pr_rssize | ps -o rss |
1 Значение по умолчанию.