Parametr memtype jest obsługiwany na platformach Linux, AIX, FreeBSD i Solaris.
Trzy wspólne wartości 'memtype' są obsługiwane na wszystkich tych platformach: pmem
, rss
i vsize
. Dodatkowo, na niektórych platformach obsługiwane są specyficzne dla tych platform wartości 'memtype'.
Zobacz wartości obsługiwane dla parametru 'memtype' na AIX w tabeli.
Wspierana wartość | Opis | Źródło w strukturze procentry64 w procentry.h | Próbuje być zgodny z |
---|---|---|---|
vsize 1 | Wielkość pamięci wirtualnej | pi_size | |
pmem | Procent rzeczywistej pamięci | pi_prm | ps -o pmem |
rss | Wielkość resident set size | pi_trss + pi_drss | ps -o rssize |
size | Wielkość procesu (kod + dane) | pi_dvm | "ps gvw" Kolumna SIZE |
dsize | Wielkość danych | pi_dsize | |
tsize | Wielkość tekstu (kodu) | pi_tsize | "ps gvw" Kolumna TSIZ |
sdsize | Wielkość danych z biblioteki współdzielonej | pi_sdsize | |
drss | Wielkość resident set size danych | pi_drss | |
trss | Wielkość resident set size tekstu | pi_trss |
Uwagi dotyczące AIX:
Przykład:
$ zabbix_agentd -t proc.mem[,,,NonExistingProcess,rss]
proc.mem[,,,NonExistingProcess,rss] [u|2879488]
Ten przykład pokazuje, jak określenie tylko parametru linii poleceń (wyrażenie regularne do dopasowania) prowadzi do samodzielnego uwzględnienia agenta Zabbix - prawdopodobnie nie jest to to, czego chcesz.
Nie używaj "ps -ef" do przeglądania procesów - pokazuje tylko procesy inne niż jądra. Użyj "ps -Af", aby zobaczyć wszystkie procesy, które będą widoczne dla agenta Zabbix.
Przejdźmy przez przykład użycia 'topasrec' i jak klucz pozycji proc.mem[] agenta Zabbix wybiera procesy.
$ 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[] ma argumenty:
proc.mem[<name>,<user>,<mode>,<cmdline>,<memtype>]
Pierwszym kryterium jest nazwa procesu (argument <name>). W naszym przykładzie agent Zabbix zobaczy to jako 'topasrec'. Aby dopasować, musisz albo określić 'topasrec', albo pozostawić to pole puste. Drugim kryterium jest nazwa użytkownika (argument <user>). Aby dopasować, musisz albo określić 'root', albo pozostawić to pole puste. Trzecim kryterium używanym do wyboru procesu jest argument <cmdline>. Agent Zabbix zobaczy jego wartość jako '/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'. Aby dopasować, musisz albo określić wyrażenie regularne, które pasuje do tego ciągu, albo pozostawić to pole puste.
Argumenty <mode> i <memtype> są stosowane po użyciu trzech wyżej wymienionych kryteriów.
Zobacz wartości obsługiwane dla parametru 'memtype' na FreeBSD w tabeli.
Wspierana wartość | Opis | Źródło w strukturze kinfo_proc | Próbuje być zgodny z |
---|---|---|---|
vsize | Wielkość pamięci wirtualnej | kp_eproc.e_vm.vm_map.size lub ki_size | ps -o vsz |
pmem | Procent rzeczywistej pamięci | obliczony z rss | ps -o pmem |
rss | Wielkość Resident set size | kp_eproc.e_vm.vm_rssize lub ki_rssize | ps -o rss |
size 1 | Wielkość procesu (kod + dane + stos) | tsize + dsize + ssize | |
tsize | Wielkość tekstu (kodu) | kp_eproc.e_vm.vm_tsize lub ki_tsize | ps -o tsiz |
dsize | Wielkość danych | kp_eproc.e_vm.vm_dsize lub ki_dsize | ps -o dsiz |
ssize | Wielkość stosu | kp_eproc.e_vm.vm_ssize lub ki_ssize | ps -o ssiz |
Zobacz wartości obsługiwane dla parametru 'memtype' na Linux w tabeli.
Wspierana wartość | Opis | Źródło w pliku /proc/<pid>/status |
---|---|---|
vsize 1 | Wielkość pamięci wirtualnej | VmSize |
pmem | Procent rzeczywistej pamięci | (VmRSS/total_memory) * 100 |
rss | Wielkość Resident set size | VmRSS |
data | Wielkość segmentu danych | VmData |
exe | Wielkość segmentu kodu | VmExe |
hwm | Szczytowa wielkość Resident set size | VmHWM |
lck | Wielkość zablokowanej pamięci | VmLck |
lib | Wielkość współdzielonych bibliotek | VmLib |
peak | Szczytowa wielkość pamięci wirtualnej | VmPeak |
pin | Wielkość przypiętych stron | VmPin |
pte | Wielkość wpisów tablicy stron | VmPTE |
size | Wielkość segmentów kodu + danych + stosu procesu | VmExe + VmData + VmStk |
stk | Wielkość segmentu stosu | VmStk |
swap | Wielkość używanej przestrzeni swap | VmSwap |
Uwagi dotyczące Linux:
hwm
, pin
, peak
, pte
i swap
.proc.mem[...,...,...,...,data]
pokazuje wartość o 4 kB większą niż raportowana przez linijkę VmData
w pliku /proc/<pid>/status agenta. W czasie samodzielnego pomiaru segment danych agenta zwiększa się o 4 kB, a następnie wraca do poprzedniego rozmiaru.Zobacz wartości obsługiwane dla parametru 'memtype' na Solaris w tabeli.
Wspierana wartość | Opis | Źródło w strukturze psinfo | Próbuje być zgodny z |
---|---|---|---|
vsize 1 | Wielkość obrazu procesu | pr_size | ps -o vsz |
pmem | Procent rzeczywistej pamięci | pr_pctmem | ps -o pmem |
rss | Wielkość Resident set size Może być niedoszacowana - zobacz opis rss w "man ps". |
pr_rssize | ps -o rss |
1 Wartość domyślna.