You are viewing documentation for the development version, it may be incomplete.
Join our translation project and help translate Zabbix documentation into your native language.

7 proc.memアイテムのmemtypeパラメーターに関する注意

概要

memtypeパラメーターは、Linux,AIX,FreeBSD,およびSolarisでサポートされています。

'memtype'の3つの一般的な値であるpmemrssvsizeは、これらすべてのプラットフォームでサポートされています。 さらに一部のプラットフォームでは固有の'memtype'値がサポートされています。

AIX

以下の表がAIXの'memtype'パラメーターでサポートされている値です。

サポート値 説明 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 column
dsize データサイズ pi_dsize
tsize テキスト (コード) サイズ pi_tsize "ps gvw" TSIZ column
sdsize シェアードライブラリのデータサイズ pi_sdsize
drss データの物理メモリ消費量 pi_drss
trss テキストの物理メモリ消費量 pi_trss

AIXに関する注意事項:

  1. AIXでproc.mem[]アイテムキーのパラメータを選択する際は、できるだけ絞り込んだプロセス選択条件を指定してください。そうしないと、proc.mem[]の結果に不要なプロセスがカウントされるリスクがあります。

例:

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

この例は、コマンドライン(正規表現で一致させる)パラメータだけを指定した場合、Zabbixエージェント自身がカウントされてしまうことを示しています。おそらく、これは望んでいる結果ではありません。

  1. "ps -ef"を使用してプロセスを閲覧しないでください。これはカーネル以外のプロセスのみを表示します。Zabbixエージェントが見ることができるすべてのプロセスを表示するには、"ps -Af"を使用してください。

  2. Zabbixエージェントのproc.mem[]がどのようにプロセスを選択するか、'topasrec'の例で説明します。

$ 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[]には以下の引数があります:

proc.mem[<name>,<user>,<mode>,<cmdline>,<memtype>]

1つ目の基準はプロセス名(引数<name>)です。この例では、Zabbixエージェントはこれを「topasrec」として認識します。一致させるには、「topasrec」を指定するか、空のままにする必要があります。 2つ目の基準はユーザー名(引数<user>)です。一致させるには、「root」を指定するか、空のままにする必要があります。 プロセス選択に使用される3つ目の基準は引数<cmdline>です。Zabbixエージェントはその値を「/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」として認識します。一致させるには、この文字列に一致する正規表現を指定するか、空のままにする必要があります。

引数<mode>と<memtype>は、上記の3つの基準を使用した後に適用されます。

FreeBSD

以下の表がFreeBSDの'memtype'パラメーターでサポートされている値です。

サポート値 説明 kinfo_proc構造体のソース 互換
vsize 仮想メモリサイズ kp_eproc.e_vm.vm_map.size or ki_size ps -o vsz
pmem 実メモリのパーセンテージ calculated from rss ps -o pmem
rss 物理メモリ消費量 kp_eproc.e_vm.vm_rssize or ki_rssize ps -o rss
size 1 プロセスのサイズ(コード + データ + スタック) tsize + dsize + ssize
tsize テキスト (コード)サイズ kp_eproc.e_vm.vm_tsize or ki_tsize ps -o tsiz
dsize データサイズ kp_eproc.e_vm.vm_dsize or ki_dsize ps -o dsiz
ssize スタックサイズ kp_eproc.e_vm.vm_ssize or ki_ssize ps -o ssiz

Linux

以下の表がLinuxの'memtype'パラメーターでサポートされている値です。

サポート値 説明 /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に関する注意:

  1. 古いLinuxカーネルではサポートされていないmemtype値があります。たとえばLinux 2.4カーネルは、 hwmpinpeakpte、およびswapの値をサポートしていません。
  2. proc.mem[...,...,...,...,data]を使用したZabbixエージェントのアクティブチェックプロセス自己監視は、エージェントの/proc/<pid>/statusファイルのVmData行で報告される値よりも4kB大きい値が示されていることがわかりました。自己測定時にエージェントのデータセグメントは4 kB増加し、その後前のサイズに戻ります。

Solaris

以下の表がSolarisの'memtype'パラメーターでサポートされている値です。

サポート値 説明 psinfo構造のソース 互換
vsize 1 プロセスイメージのサイズ pr_size ps -o vsz
pmem 実メモリのパーセンテージ pr_pctmem ps -o pmem
rss 物理メモリ消費量
過小評価されている可能性があります。"man ps"のrssの説明を参照してください
pr_rssize ps -o rss
脚注

1 デフォルト値