2016-06-17 2 views
0

SmartOSゾーンには、ゾーンパッケージで定義されている軽量プロセスの上限または上限があります。私の現在の設定が意味をなすかどうかを調べるために、(ゾーン内から)経時的な軽量プロセスの総数を収集したいと思います。私はすでにkstatカウンタを収集するためのツールを用意していますので、私はそれを使いたいと考えています。私はprstatがlwpsカウントを提供し、prstatがどのようにこの値を得るのが有用かという情報を提供していることに気付きました。kstat、ゾーンで実行中の軽量プロセスの数を取得する

その間に、私は'caps:*:nprocs_zone_*:usage'または'unix:0:system_misc:nproc'を使用してプロセスの数を取得できましたが、軽量プロセスについては何も取得できませんでした。

アップを要約すると、私は知っているしたいと思います:

  • をLWPのか、私は、この値を取得するために合計可能性のプロセスカウンターあたりの合計数を表す任意ののkstatカウンタがあるかどうか。
  • そうでない場合、prstatはどのように合計lwpsカウントを取得していますか?
  • この値を取得する他の方法はありますか?

答えて

0

prstatは、インフォメーション用/ procファイルシステムを照会される(うまくいけば、prstatは出力を解析することなく)、prstatはコマンドショーに対してトラスを実行する例:

open("/proc/25841/psinfo", O_RDONLY)   = 158 

procがよく代わり」を検索し、hereが記載されてoracle man pagesセクション4ファイル形式proc "を参照してください。

各/ proc/[pid]ディレクトリ内に/ proc/[pid]/lwp /ディレクトリが存在します。例えば:

[email protected]:/proc/597/lwp# ls -l 
total 35 
dr-xr-xr-x 2 root  root   256 Jun 3 13:06 1 
dr-xr-xr-x 2 root  root   256 Jun 3 13:06 10 
dr-xr-xr-x 2 root  root   256 Jun 3 13:06 11 
dr-xr-xr-x 2 root  root   256 Jun 3 13:06 12 
dr-xr-xr-x 2 root  root   256 Jun 3 13:06 13 
dr-xr-xr-x 2 root  root   256 Jun 3 13:06 14 
dr-xr-xr-x 2 root  root   256 Jun 3 13:06 15 
dr-xr-xr-x 2 root  root   256 Jun 3 13:06 16 
dr-xr-xr-x 2 root  root   256 Jun 3 13:06 17 
dr-xr-xr-x 2 root  root   256 Jun 3 13:06 18 
dr-xr-xr-x 2 root  root   256 Jun 3 13:06 19 
dr-xr-xr-x 2 root  root   256 Jun 3 13:06 2 
dr-xr-xr-x 2 root  root   256 Jun 3 13:06 20 
dr-xr-xr-x 2 root  root   256 Jun 3 13:06 21 
dr-xr-xr-x 2 root  root   256 Jun 3 13:06 22 
dr-xr-xr-x 2 root  root   256 Jun 3 13:06 23 
dr-xr-xr-x 2 root  root   256 Jun 3 13:06 24 
dr-xr-xr-x 2 root  root   256 Jun 3 13:06 26 
dr-xr-xr-x 2 root  root   256 Jun 3 13:06 27 
dr-xr-xr-x 2 root  root   256 Jun 3 13:06 28 
dr-xr-xr-x 2 root  root   256 Jun 3 13:06 29 
dr-xr-xr-x 2 root  root   256 Jun 3 13:06 3 
dr-xr-xr-x 2 root  root   256 Jun 3 13:06 30 
dr-xr-xr-x 2 root  root   256 Jun 3 13:06 31 
dr-xr-xr-x 2 root  root   256 Jun 3 13:06 33 
dr-xr-xr-x 2 root  root   256 Jun 3 13:06 34 
dr-xr-xr-x 2 root  root   256 Jun 3 13:06 35 
dr-xr-xr-x 2 root  root   256 Jun 3 13:07 36 
dr-xr-xr-x 2 root  root   256 Jun 16 11:16 37 
dr-xr-xr-x 2 root  root   256 Jun 3 13:06 4 
dr-xr-xr-x 2 root  root   256 Jun 3 13:06 5 
dr-xr-xr-x 2 root  root   256 Jun 3 13:06 6 
dr-xr-xr-x 2 root  root   256 Jun 3 13:06 7 
dr-xr-xr-x 2 root  root   256 Jun 3 13:06 8 
dr-xr-xr-x 2 root  root   256 Jun 3 13:06 9 

各LWPが何であるかを読み、戻ってそれを提示する同一のプロセスに対してPSを実行し、この特定のPIDがFMDサービスに関する。

[email protected]:/proc/597/lwp# ps -Lp 597 
    PID LWP LNAME   TTY  LTIME CMD 
    597  1 -    ?   0:00 fmd 
    597  2 fmd_timerq_exec ?   0:04 fmd 
    597  3 fmd-self-diagnosis ?   0:00 fmd 
    597  4 sysevent-transport ?   0:00 fmd 
    597  5 door_xcreate_startf ?   0:00 fmd 
    597  6 door_xcreate_startf ?   0:00 fmd 
    597  7 subscriber_event_handler ?   0:01 fmd 
    597  8 fmd_door_server ?   0:00 fmd 
    597  9 fmd_thread_start ?   0:00 fmd 
    597 10 cpumem-retire ?   0:00 fmd 
    597 11 ses-log-transport ?   0:04 fmd 
    597 12 ext-event-transport ?   0:00 fmd 
    597 13 door_xcreate_startf ?   0:00 fmd 
    597 14 door_xcreate_startf ?   0:00 fmd 
    597 15 sas-cabling  ?   0:01 fmd 
    597 16 io-retire  ?   0:00 fmd 
    597 17 eft    ?   0:00 fmd 
    597 18 endurance-transport ?   0:00 fmd 
    597 19 fdd-msg   ?   0:00 fmd 
    597 20 disk-transport ?   0:00 fmd 
    597 21 sensor-transport ?   0:04 fmd 
    597 22 -    ?   0:00 <defunct> 
    597 23 syslog-msgs  ?   0:00 fmd 
    597 24 disk-diagnosis ?   0:00 fmd 
    597 26 zfs-retire  ?   0:00 fmd 
    597 27 fru-monitor  ?   0:02 fmd 
    597 28 -    ?   0:00 fmd 
    597 29 software-response ?   0:00 fmd 
    597 30 enum-transport ?   0:00 fmd 
    597 31 non-serviceable ?   0:00 fmd 
    597 33 fabric-xlate  ?   0:00 fmd 
    597 34 software-diagnosis ?   0:00 fmd 
    597 35 zfs-diagnosis ?   0:00 fmd 
    597 36 umem_update_thread ?   0:06 fmd 
    597 37 fmd_door_server ?   0:00 fmd 

次のコマンドは、合計LWPを解析する必要があります。

prstat -n 1,1 1 1 | nawk '/Total/ { print $4 }' 

ゾーン内のLWPの詳細を取得するには、zlogin -cを実行します。あなたはおそらくdtraceと同じ情報を得ることができますが、私はこれを行う方法がわかりません。

[email protected]:/etc# ps -lLp 597 
F S UID PID PPID LWP LNAME    C PRI NI  ADDR  SZ WCHAN TTY  LTIME CMD 
0 S  0 597  1  1 -     0 40 20  ? 25470  ? ?   0:00 fmd 
0 S  0 597  1  2 fmd_timerq_exec 0 40 20  ? 25470  ? ?   0:04 fmd 
0 S  0 597  1  3 fmd-self-diagnosis 0 40 20  ? 25470  ? ?   0:00 fmd 
0 S  0 597  1  4 sysevent-transport 0 40 20  ? 25470  ? ?   0:00 fmd 
0 S  0 597  1  5 door_xcreate_startf 0 40 20  ? 25470  ? ?   0:00 fmd 
0 S  0 597  1  6 door_xcreate_startf 0 40 20  ? 25470  ? ?   0:00 fmd 
0 S  0 597  1  7 subscriber_event_handler 0 40 20  ? 25470  ? ?   0:01 fmd 

HTH:

あなたはLWP情報を深く掘り下げたいなら...あなたが見つける必要があるあなたの所見とポストバック、-lLスイッチは、例えばのLWPに関する詳細な情報を、提供しています。

関連する問題