Solaris でのプロセス監視

Solaris でのプロセス監視
$ prstat -t
NPROC USERNAME  SWAP   RSS MEMORY      TIME  CPU
164 oracle   5446M 5445M   8.3%  13:47:50 1.6%
52 root      576M  728M   1.1%  42:29:50 1.0%
 1 noaccess  300M  273M   0.4%   0:20:54 0.0%
 1 smmsp    2192K 9912K   0.0%   0:00:06 0.0%
 1 nagios    584K 4256K   0.0%   0:01:54 0.0%
 6 daemon   8360K   11M   0.0%   0:12:39 0.0%

Total: 225 processes, 839 lwps, load averages: 1.68, 1.58, 1.46

prstat上記は、インストールされた Solaris ボックスのコマンドの出力ですOracle 11g。Solaris ボックスの RAM は、64GBOracle プロセスがスワップしているように見えますが5.5 GB、これは正常ですか? より詳細な情報を取得するための推奨事項があれば、ぜひ教えてください。

答え1

prstatSWAP を次のように定義します。

SWAP

    The sum of swap reservations of the associated processes
    for  each  user,  project,  task,  or  zone. This counts
    shared memory only once for each user, project, task, or
    zone.  Swap  is  reserved when anonymous memory is allo-
    cated or files are mapped private. The value of swap  is
    expressed  in kilobytes (K), megabytes (M), or gigabytes
    (G).

(からSolaris 10 上の prstat(1M)、cf.Solaris prstat を開く

基本的に、これは値には現在アクセスされていないが、プロセスのアドレス空間にマップされているメモリが含まれていることを意味します。このようなメモリは将来使用される可能性があり、スワップアウトされる可能性があります (つまり、実際にスワップ パーティションに書き込まれる可能性があります)。したがって、初期マッピングを作成すると、Solaris prstat はそれらを SWAP としてカウントします。

これは、この量のメモリが実際に SWAP パーティションに書き込まれる、または必ず書き込まれることを意味するものではありません。

これらのスワップ予約、匿名メモリ、マップされたファイルは、仮想メモリSolaris のシステム。

また、-t- を使用していることにも注意してください。したがって、例に示されている値は、Oracle プロセスの値ではなく、ユーザーで実行されているすべてのプロセスの集計値ですoracle

Solaris ポートを使用するとtop、SIZE (または VMEM) と RES (または RSS) 値など、より有用な情報が提供されます。VMEM にはすべての仮想メモリ ページが含まれ、RSS は常駐サイズです。これにより、VMEM >= RSS の関係が成立します (prstat の場合、RSS > SWAP である可能性があります。つまり、RSS は SWAP に含まれません)。

実際のスワップアクティビティに関心がある場合は、 のようなものを使用できますvmstat

関連情報