8 Notes sobre el paràmetre memtype dels elements proc.mem

Vista general

El paràmetre memtype s'admet a les plataformes Linux, AIX, FreeBSD i Solaris.

S'admeten tres valors comuns de 'memtype' en qualsevol d'aquestes plataformes: pmem, rss et vsize. A més, els valors 'memtype' específics de la plataforma són admesos en algunes plataformes.

AIX

En aquesta taula hi trobareu els valors admesos per el paràmetre 'memtype' sota AIX.

Valor admès Descripció Font a l'estructura procentry64 Intents per ésser compatible
vsize 1 Mida de la memòria virtual pi_size
pmem Percentatge de memòria real pi_prm ps -o pmem
rss Mida del conjunt de residents pi_trss + pi_drss ps -o rssize
size Mida dels processos (codi + dades) pi_dvm "ps gvw" SIZE column
dsize Mida de dades pi_dsize
tsize Mida del text (codi) pi_tsize "ps gvw" Colonne TSIZ
sdsize Mida de les dades de la biblioteca compartida pi_sdsize
drss Mida del conjunt de residents de dades pi_drss
trss Mida del conjunt de residents de text pi_trss

Notes per AIX:

  1. Quan trieu paràmetres per a la clau d'element proc.mem[] a l'AIX, proveu d'especificar criteris de selecció de processos restringits. En cas contrari, hi ha el risc de tindre processos no desitjats al resultat de proc.mem[].

Exemple:

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

Aquest exemple mostra com especificar només un paràmetre de línia de comandes (expressió regular que coincideixi) resulta en l'autocomptabilitat de l'agent Zabbix; que probablement sigui el que no volem.

  1. No empreu "ps -ef" per explorar processos: només ensenya processos que no són del nucli. Empreu "ps -Af" per veure tots els processos que veurà l'agent Zabbix.

  2. Veieu un exemple de 'topasrec' com l'agent Zabbix proc.mem[] tria els processos.

$ 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, 16 de març de 2023

proc.mem[] té arguments:

proc.mem[<nom>,<usuari>,<mode>,<línia de cmd>,<tipus mem>]

El primer criteri és un nom de procés (argument <nom>). Al nostre exemple, l'agent de Zabbix el veurà com a "topasrec". Per fer-lo coincidir, hem d'especificar "topasrec" o deixar-lo buit. El segon criteri és un nom d'usuari (argument <usuari>). Per fer-lo coincidir, hem d'especificar "arrel" o deixar-lo buit. El tercer criteri emprat en la tria del procés és un argument <cmdline>. L'agent de Zabbix veurà el seu valor com a "/usr/bin/topasrec -L -s 300 -R 1 -r 6 -o /var/perf/daily/ -ypersistent=1 -O type=bin -ystart_time=04:08:54, 16 de març de 2023'. Per fer-lo coincidir, hem d'especificar una expressió regular que coincideixi amb aquesta cadena o bé deixar-la buida.

Els arguments <mode> i <memtype> s'apliquen després d'emprar els tres criteris esmentats anteriorment.

FreeBSD

A la següent taula hi trobareu els valors admesos per al paràmetre 'memtype'.

Valor admès Descripció Font a l'estructura kinfo_proc Intents per ésser compatible
vsize Mida de la memòria virtual kp_eproc.e_vm.vm_map.size ou ki_size ps -o vsz
pmem Percentatge de la memòria real calculat a partir de rss ps -o pmem
rss Mida del conjunt de residents kp_eproc.e_vm.vm_rssize ou ki_rssize ps -o rss
size 1 mida dels processos (codi + dades + pila) tsize + dsize + ssize
tsize Mida del text (codi) kp_eproc.e_vm.vm_tsize ou ki_tsize ps -o tsiz
dsize Mida de les dades kp_eproc.e_vm.vm_dsize ou ki_dsize ps -o dsiz
ssize Mida de la pila kp_eproc.e_vm.vm_ssize ou ki_ssize ps -o ssiz

####Linux

En aquesta taula hi trobareu els valors admesos per el paràmetre 'memtype' sota Linux.

Valor admès Descripció Font de l'arxiu /proc/<pid>/status
vsize 1 Mida de la memòria virtual VmSize
pmem Percentatge de la memòria real (VmRSS/total_memory) * 100
rss Mida del conjunt de residents VmRSS
data Mida del segment de dades VmData
exe Mida del segment de codis VmExe
hwm Mida màxima del conjunt de residents VmHWM
lck Mida de la memòria blocada VmLck
lib Mida de les biblioteques compartides VmLib
peak Mida màxima de la memòria virtual VmPeak
pin Mida de les pàgines fixades VmPin
pte Mida de les entrades de la taula de paginació VmPTE
taille Mida del codi de processos + dades + segments de la pila VmExe + VmData + VmStk
stk Mida del segment de pila VmStk
swap Mida de l'espai de swap emprat VmSwap

Notes per Linux:

  1. No tots els valors 'memtype' són admesos amb kernels antics de Linux. Per exemple, el kernel de Linux 2.4 no suporta els valors hwm, pin, peak, pte i swap.
  2. Hem vist que l'automonitoratge de l'agent Zabbix actiu verifica els processos amb proc.mem[...,...,...,...,data] mostra un valor de 4ko de més del que indica la línia "VmData" dins l'arxiu de l'agent /proc/<pid>/status. Al moment de l'auto-mesura, el segment de dades de l'agent augmenta fins a 4ko, i retorna la mida anterior.

Solaris

En aquesta taula hi trobareu els valors admesos per el paràmetre 'memtype' sota Solaris.

Valor admès Descripció Font a l'estructura psinfo Intents per ésser compatible
vsize 1 Mida de la imatge dels processos pr_size ps -o vsz
pmem Percentatge de la memòria real pr_pctmem ps -o pmem
rss Mida del conjunt resident
Pot ésser subestimat - veieu la descripció rss a "man ps".
pr_rssize ps -o rss
Notes a peu de pàgina

1 Valor per defecte.