CPU使用率の決定 - solaris unix

I was just going through SO and found out a question Determining CPU utilization

質問は興味深いもので、より込み入ったものが答えです。 だから私はソラリスSPARC unixシステムでいくつかのチェックをすると思った。

私はrootユーザーとして/ procに行きました。私は名前として数字のあるディレクトリをいくつか見つけました。 私はこれらの数字がプロセスid'sだと思う。確かに私は/stat.(donnoなぜ?)

私は1つのプロセスID(1つのディレクトリ)を取って、whats内部に存在をチェックしました。

[email protected]> cd 11770
[email protected]> pwd
/proc/11770
[email protected]> ls
as         contracts  ctl        fd         lstatus    lwp        object     path       psinfo     root       status     watch
auxv       cred       cwd        lpsinfo    lusage     map        pagedata   priv       rmap       sigact     usage      xmap

私はそれらのファイルが何であるか確認しました:

[email protected]> file *
as:             empty file
auxv:           data
contracts:      directory
cred:           data
ctl:            cannot read: Invalid argument
cwd:            directory
fd:             directory
lpsinfo:        data
lstatus:        data
lusage:         data
lwp:            directory
map:            TrueType font file version 1.0 (TTF)
object:         directory
pagedata:       cannot read: Arg list too long
path:           directory
priv:           data
psinfo:         data
rmap:           TrueType font file version 1.0 (TTF)
root:           directory
sigact:         ascii text
status:         data
usage:          data
watch:          empty file
xmap:           TrueType font file version 1.0 (TTF)

私は確信していません..これをどのように私はCPU使用率を決定することができますか? たとえば:私のプロセスのアイドル時間は何ですか?

誰も私に正しい方向を与えることができますか? おそらく例を挙げて!

1

2 答え

誰も餌を取っていないので、私はいくつかのコメント/回答を追加します。

1st off, Did you check out the info available for Solaris System tuning? This is for old Solarian, 2.6, v7 & 8. Presumably a little searching at developers.sun.com will find something newer.

あなたが書いた:

私はrootユーザーとして/ procに行きました。私は名前が数字のディレクトリをいくつか見つけました。私はこれらの数字がプロセスid'sだと思っています。確かに私は/stat.(donnoなぜですか?)を見つけることができませんでした。

多くのLinux以外のOSには、プロセスの管理方法に関する特別な慣習があります。 Solarisの場合、/ procディレクトリはディスクベースのファイルのディレクトリではなく、ディレクトリ階層のように配置されたすべてのアクティブなシステムプロセスに関する情報です。クール、そう?

私は stat 、ステータスの正確な意味を知らないのですか?統計?何か?プロセス情報を保持している別のOSのディレクトリ構造が使用されているにすぎません。

あなたが発見したように、/proc/の下には番号が付けられた一連のエントリがあり、これらはアクティブなprocessIDです。それらのいずれかにcdすると、そのプロセスで使用可能なシステム情報が表示されます。

これらのファイルは何かを確認しました:....

私はSolarisサーバーにアクセスできなくなったので、少し推測する必要があります。私は、名前が何か関連していることを示唆するファイルやディレクトリに「ドリルダウン」することをお勧めします。

cat psinfo を試しましたか?それは何を生み出しましたか?

ソラリスチューニングのページが役に立たなかった場合は、 appropos が動作していますか? approc proc を実行し、manページがどのようなものであるかを見てください。それらをドリルダウンします。それ以外の場合は man proc を試してください。また、 'see also'セクションのエントリの下部と「Examples」セクションの部分を見てください。

(Un)?幸いなことに、ほとんどのマニュアルページはチュートリアルではないので、これらを読んでいくだけで、どれくらいもっと勉強する必要があるのか​​分かります。


ps top などのパフォーマンス監視機能を提供する組み込みコマンドについて知っていますか?

優れたAIXベースの nmon が存在していますか? Solarisにも移植されています。 http://sourceforge.net/projects/sarmon/ を参照してください。

また、ネットワーク管理者が持っているような高価な監視/測定/利用ツールもあります。単なる開発者として、それらを使用することはありませんでした。 「ソラリスのパフォーマンス監視」のためのGoogleの有料広告を見てください。

最後に、 nmonのよくある質問

短期間および短期間の使用を続けると、CPUが100%ビジー状態または100%アイドル状態のいずれかであることがわかります。他の数字はすべて、人間が十分に速く考えていない機能であり、より長い期間。

私はこれが役立つことを願っています

2
追加された
+1はヒントと新しい入力のために...私はここに記載されているすべてのものを通過する必要があります..
追加された 著者 Vijay,

Solarisの/proc 階層からCPU使用率を取得する簡単で正確な方法はありません。

さまざまなシステム情報や統計情報を格納するLinuxとは異なり、Solarisは/ procの下にプロセス関連のデータのみを表示します。

別の違いもあります。 Linuxは通常、前処理された読み取り可能なデータ(テキスト)を表示し、Solarisは常に実際のカーネル構造または生データ(バイナリ)を提示します。

これらはすべて、Solarisの46ページのprocマニュアル( man -s 4 proc )に完全に記載されています。

この階層からプロセスごとの使用量を合計することでCPU使用率を得ることは可能ですが、通常は/ proc/xxxファイルを読むことで通常の方法はSolarisの kstat (カーネル統計)インタフェース。さらに、前者の方法は、プロセスには説明されていないが、直接カーネルにCPU使用量が足りないことによって不正確になる。

kstat( man -a kstat )は、vmstat、iostat、prstat、sar、topなどのような、あなたが探しているものを報告するすべての通常のコマンドを使っています。

たとえば、CPU使用率は、vmstat出力の最後の3つのカラムに表示されます(ユーザランド、カーネル、アイドリング時間のus、sy、id)。

$ vmstat 10 8
 kthr      memory            page            disk          faults      cpu
 r b w   swap  free  re  mf pi po fr de sr cd s0 -- --   in   sy   cs us sy id
 0 0 0 1346956 359168 34 133 96 0  0  0 53 11  0  0  0  264  842  380  9  7 84
 0 0 0 1295084 275292 0   4  4  0  0  0  0  0  0  0  0  248  288  200  2  3 95
 0 0 0 1295080 275276 0   0  0  0  0  0  0  3  0  0  0  252  271  189  2  3 95
 0 0 0 1295076 275272 0  14  0  0  0  0  0  0  0  0  0  251  282  189  2  3 95
 0 0 0 1293840 262364 1137 1369 4727 0 0 0 0 131 0 0 0  605 1123  620 15 19 66
 0 0 0 1281588 224588 127 561 750 1 1 0  0 89  0  0  0  438 1840  484 51 15 34
 0 0 0 1275392 217824 31 115 233 2 2  0  0 31  0  0  0  377  821  465 20  8 72
 0 0 0 1291532 257892 0   0  0  0  0  0  0  8  0  0  0  270  282  219  2  3 95

なんらかの理由でvmstatを使用したくない場合は、kstatコマンドを使用して直接kstatカウンタを取得できますが、それは扱いにくく、移植性が低くなります。

2
追加された