Se encuentra viendo la documentación de la versión en desarrollo, puede estar incompleta.
Esta página fue traducida automáticamente. Si detectas un error, selecciónalo y presiona Ctrl+Enter para informarlo a los editores.

7 Notas sobre el parámetro memtype en métricas proc.mem

Descripción general

El parámetro memtype es compatible con las plataformas Linux, AIX, FreeBSD y Solaris.

Se admiten tres valores comunes de 'memtype' en todas estas plataformas: pmem, rss y vsize. Además, en algunas plataformas se admiten valores de 'memtype' específicos de la plataforma.

AIX

Consulte los valores admitidos para el parámetro 'memtype' en AIX en la tabla.

Valor admitido Descripción Fuente en la estructura procentry64 Intenta ser compatible con
vsize 1 Tamaño de memoria virtual pi_size
pmem Porcentaje de memoria real pi_prm ps -o pmem
rss Tamaño del conjunto residente pi_trss + pi_drss ps -o rssize
size Tamaño del proceso (código + datos) pi_dvm Columna SIZE de "ps gvw"
dsize Tamaño de datos pi_dsize
tsize Tamaño de texto (código) pi_tsize Columna TSIZ de "ps gvw"
sdsize Tamaño de datos de la biblioteca compartida pi_sdsize
drss Tamaño residente de datos pi_drss
trss Tamaño residente de texto pi_trss

Notas para AIX:

  1. Al elegir parámetros para la clave de métrica proc.mem[] en AIX, intente especificar criterios de selección de procesos lo más precisos posible. De lo contrario, existe el riesgo de que se cuenten procesos no deseados en el resultado de proc.mem[].

Ejemplo:

$ zabbix_agentd -t proc.mem[,,,NonExistingProcess,rss]
       proc.mem[,,,NonExistingProcess,rss]           [u|2879488]

Este ejemplo muestra cómo al especificar solo el parámetro de línea de comandos (expresión regular a coincidir), el agente de Zabbix se contabiliza a sí mismo, probablemente no sea lo que desea.

  1. No utilice "ps -ef" para examinar procesos: solo muestra los procesos que no son del núcleo. Utilice "ps -Af" para ver todos los procesos que serán vistos por el agente Zabbix.

  2. Veamos el ejemplo de 'topasrec' para ver cómo el agente Zabbix proc.mem[] selecciona los procesos.

$ 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[] tiene los siguientes argumentos:

proc.mem[<nombre>,<usuario>,<modo>,<línea_de_comandos>,<tipo_memoria>]

El primer criterio es un nombre de proceso (argumento <name>). En nuestro ejemplo, el agente Zabbix lo verá como 'topasrec'. Para que coincida, debe especificar 'topasrec' o dejarlo vacío. El segundo criterio es un nombre de usuario (argumento <user>). Para que coincida, debe especificar 'root' o dejarlo vacío. El tercer criterio utilizado en la selección de procesos es un argumento <cmdline>. El agente Zabbix verá su valor como '/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'. Para que coincida, debe especificar una expresión regular que coincida con esta cadena o dejarlo vacío.

Los argumentos <mode> y <memtype> se aplican después de usar los tres criterios mencionados anteriormente.

FreeBSD

Consulte los valores admitidos para el parámetro 'memtype' en FreeBSD en la tabla.

Valor admitido Descripción Fuente en la estructura kinfo_proc Intenta ser compatible con
vsize Tamaño de memoria virtual kp_eproc.e_vm.vm_map.size o ki_size ps -o vsz
pmem Porcentaje de memoria real calculado a partir de rss ps -o pmem
rss Tamaño del conjunto residente kp_eproc.e_vm.vm_rssize o ki_rssize ps -o rss
size 1 Tamaño del proceso (código + datos + pila) tsize + dsize + ssize
tsize Tamaño del texto (código) kp_eproc.e_vm.vm_tsize o ki_tsize ps -o tsiz
dsize Tamaño de datos kp_eproc.e_vm.vm_dsize o ki_dsize ps -o dsiz
ssize Tamaño de la pila kp_eproc.e_vm.vm_ssize o ki_ssize ps -o ssiz

Linux

Consulte los valores admitidos para el parámetro 'memtype' en Linux en la tabla.

Valor admitido Descripción Fuente en el archivo /proc/<pid>/status
vsize 1 Tamaño de la memoria virtual VmSize
pmem Porcentaje de memoria real (VmRSS/total_memory) * 100
rss Tamaño del conjunto residente VmRSS
data Tamaño del segmento de datos VmData
exe Tamaño del segmento de código VmExe
hwm Pico del conjunto residente VmHWM
lck Tamaño de la memoria bloqueada VmLck
lib Tamaño de las bibliotecas compartidas VmLib
peak Pico de memoria virtual VmPeak
pin Tamaño de las páginas fijadas VmPin
pte Tamaño de las entradas de la tabla de páginas VmPTE
size Tamaño del código del proceso + datos + segmentos de pila VmExe + VmData + VmStk
stk Tamaño del segmento de pila VmStk
swap Tamaño del espacio de intercambio utilizado VmSwap

Notas para Linux:

  1. No todos los valores de 'memtype' son compatibles con kernels Linux antiguos. Por ejemplo, los kernels Linux 2.4 no admiten los valores hwm, pin, peak, pte y swap.
  2. Hemos notado que la auto-monitorización del proceso de comprobación activa del agente Zabbix con proc.mem[...,...,...,...,data] muestra un valor que es 4 kB mayor que el informado por la línea VmData en el archivo /proc/<pid>/status del agente. En el momento de la auto-medición, el segmento de datos del agente aumenta en 4 kB y luego vuelve al tamaño anterior.

Solaris

Consulte los valores admitidos para el parámetro 'memtype' en Solaris en la tabla.

Valor admitido Descripción Fuente en la estructura psinfo Intenta ser compatible con
vsize 1 Tamaño de la imagen del proceso pr_size ps -o vsz
pmem Porcentaje de memoria real pr_pctmem ps -o pmem
rss Tamaño del conjunto residente
Puede estar subestimado: consulte la descripción de rss en "man ps".
pr_rssize ps -o rss
Notas al pie

1 Valor por defecto.