質問:物理メモリ使用量を報告する方法(いいえ隠れ家! )使用ナイモンまたは仮想マシンの状態またはsvmonAIX 6では?
ナイモン:
仮想マシン統計:
svmon:
Linux と同様に free コマンドを使用できますが、AIX では使用できません。
[user@notebook ~]$ free -m
total used free shared buffers cached
Mem: 7797 4344 3453 0 219 2745
-/+ buffers/cache: 1379 6417
Swap: 2047 0 2047
[user@notebook ~]$ free -m | grep cache: | awk '{print $3}'
1379
[user@notebook ~]$
答え1
ショートバージョン:すべてのファイルキャッシュについて知りたい場合は、clnt
使用している+ページ(単位は4kページ)の出力を表示するか、実行可能ファイル(同じ単位)を除くファイルキャッシュの「ファイルページ」を参照してください。pers
svmon -G
vmstat -v
何が起こっているのかを完全に理解するには、次の文書を確認する必要があります。AIX ページ置換の概要。
簡単に言えば、AIXには2つのメモリー分類があります。
作業記憶 vs 永久記憶
ワークメモリはプロセス(スタック、ヒープ、共有メモリ)とカーネルメモリです。これらのメモリをページアウトする必要がある場合は、交換する必要があります。
永続メモリはファイルキャッシュです。ページアウトが必要な場合は、ページアウトが発生したファイルシステムに返されます(ダーティページの場合はクリーンページが回収されます)。これは、JFSファイルシステムの非クライアント(または永続)ページとJFS2、NFS、およびその他のクライアントページに分けられます。
計算されたページと計算されていないページ。
コンピューティングページは、プロセスとカーネルデータとプロセステキストデータ(たとえば、実行可能ファイル/コードをキャッシュするページ)です。
非計算は、実行不可能なファイルキャッシュ(または共有ライブラリ)とは異なります。
svmon -G
(ところでsvmon -G -O unit=MB
ちょっと親切です) 永久ページの代わりに仕事をしてください。このwork
列はワークメモリです。pers
(JFS)および(JFS2)列を追加してclnt
永続メモリを取得します。
あなたの場合、ファイルシステム(186151 * 4kページ)でサポートされている約730MBの永続ページがあります。
topas
右上隅にある「ウィジェット」は、ややFileSystemCache (numperm)
異なる内容を表示し、同じデータを取得しますvmstat -v
。これは計算されていない永続ページにすぎません。つまり、上記と同じですが、実行可能ファイルページは除外されます。
あなたの場合は約350MB(16Gの2.2%)程度です。
とにかくキャッシュがあまりないですね。
答え2
探しているコマンド(IMHO)は次のとおりです。
# svmon -P -O filtertype=working,segment=off,filtercat=exclusive,unit=MB
ここで主なオプションは次のとおりです。
- 'filtertype = working'#別名、キャッシュなし。
- 'segment=off' #実際に -O を使用する場合のデフォルト値
- 'filtercat=exclusive' # 共有メモリやカーネル atm を含みません。
- 'unit = MB'#ページ数に基づいて計算したい人は誰ですか?
-C(コマンド名関連、以下の例)および-U(ユーザー関連)などの他のオプションも検討することをお勧めします。
++++コメントを開始++++
ご質問についてのコメントとして元々入力しようとしましたが、評判が不足しており、ここに新しいユーザーになった内容を挿入してください。
あなたのvmstat出力はあなたの現在の状況より多くを教えてくれます。単一出力ラインなので歴史的です。 pi/po(ページスペース ページ入力/ページングスペース)の履歴を表示するため、メモリに問題があると疑われます。ページ出力)
興味のある他の列はfr / sr列です。
- fr:lrudが公開したページ(最も最近使用されていないデーモン、別名ページスティラー)
- sr:lrud「前」ページを検索するページのスキャン/検索
- sr / fr:解放するために「スキャン」する必要があるページ数を表す割合1
私が考えるのが混乱しているのは、ここで提供されているpi / po値(他のコマンドのデータと完全に一致しません)もここで稼働時間ではないため、これらの数値を生成する「テスト」が何であるかを知るのが難しいことです。 。
- pi:ページングスペースページの入力(つまり、ページングスペースからアプリケーションメモリを読み取る)
- po:メモリを盗み、アプリケーション(作業)メモリをページングスペースに書き込みます。作業メモリだけがページングスペースに入るか、ページングスペースから出ます。
プレゼンテーションでは、pi = 22とpo = 7を表示します。これは、平均して、システムがデータを書き込む回数の3倍に相当する頻度で(情報を書き込んだ後)ページング空間から情報を読み取ることを意味します。これは、データに触れる前に(pi)から読み取られ、再度盗まれた(sr / fr)(sr / fr)ため、システムが枯渇していることを示します。または、アプリケーションがデータを「待機」する前に再度読み込み、アクセス権がある場合は削除してください。
簡単に言えば、提供されたデータは、「痛み」が発生した瞬間と「同期化」されません。これは、現在のメモリの2.2%だけがキャッシュに使用される理由を説明できます(そして「コンピューティング、ロードされたプログラム」とも呼ばれます)。
ハン仮想マシンの状態また、-I(大文字:i、「fi」、および「fo」の追加 - fileInおよびfileOutアクティビティ)および-w(ワイド)フラグを使用して、数値がテキストヘッダーの下に配置されることをお勧めします。
++++「コメント」終了
-P(プロセスビュー)を使って抜粋した内容を見てみましょう。
# svmon -P -O filtertype=working,segment=off,filtercat=exclusive,unit=MB | head -15
Unit: MB
-------------------------------------------------------------------------------
Pid Command Inuse Pin Pgsp Virtual
14614630 httpd 21.5 0.06 0 21.5
11272246 httpd 21.4 0.06 0 21.4
12779758 httpd 21.2 0.06 0 21.2
17760476 httpd 20.9 0.06 0 20.9
11796712 httpd 20.8 0.06 0 20.8
17039454 httpd 20.6 0.06 0 20.6
11862240 httpd 20.6 0.06 0 20.6
14680090 httpd 20.5 0.06 0 20.5
10747970 httpd 20.5 0.06 0 20.5
11141286 httpd 20.5 0.06 0 20.5
4718766 mysqld 13.6 0.02 0 13.6
ルートでない場合は、その環境のコマンドのみを表示できます。
$ svmon -P -O filtertype=working,segment=off,filtercat=exclusive,unit=MB
Unit: MB
-------------------------------------------------------------------------------
Pid Command Inuse Pin Pgsp Virtual
5505172 svmon 10.7 0.19 0.44 11.4
6553826 ksh 0.57 0.02 0 0.57
9175288 ksh 0.55 0.02 0 0.55
12910710 sshd 0.55 0.02 0 0.55
15204356 sshd 0.52 0.02 0 0.52
12779760 head 0.18 0.02 0 0.18
特定のコマンドを表示したい場合があります。したがって、httpdを表示するにはrootに戻ります。
要約:
svmon -C httpd -O filtertype=working,segment=off,filtercat=exclusive,unit=MB
Unit: MB
===============================================================================
Command Inuse Pin Pgsp Virtual
httpd 227.44 0.69 0 227.44
詳細:抜粋
# svmon -C httpd -O filtertype=working,segment=category,filtercat=exclusive,unit=MB >
Unit: MB
===============================================================================
Command Inuse Pin Pgsp Virtual
httpd 230.62 0.81 0 230.62
...............................................................................
EXCLUSIVE segments Inuse Pin Pgsp Virtual
230.62 0.81 0 230.62
Vsid Esid Type Description PSize Inuse Pin Pgsp Virtual
81a203 3 work working storage m 24.6 0 0 24.6
parent=883990
8b82d7 3 work working storage m 18.8 0 0 18.8
parent=834226
8b9d37 3 work working storage m 18.2 0 0 18.2
parent=884fb0
8915f2 f work shared library data m 2.00 0 0 2.00
parent=898373
89abb3 f work shared library data m 2.00 0 0 2.00
parent=84b9a9
824ea4 f work shared library data m 2.00 0 0 2.00
これは "segment = category"をうまく表示しないので、より簡単なコマンドを使用し、各メモリ「セグメント」タイプの要約と詳細を表示しますが、まだ「動作」メモリ(別名キャッシュなし)のみを表示します。
# svmon -C tail -O filtertype=working,segment=category,unit=MB
Unit: MB
===============================================================================
Command Inuse Pin Pgsp Virtual
tail 82.5 52.6 5.12 90.6
...............................................................................
SYSTEM segments Inuse Pin Pgsp Virtual
34.1 33.1 2.38 35.8
Vsid Esid Type Description PSize Inuse Pin Pgsp Virtual
10002 0 work kernel segment m 34.1 33.1 2.38 35.8
...............................................................................
EXCLUSIVE segments Inuse Pin Pgsp Virtual
0.18 0.02 0 0.18
Vsid Esid Type Description PSize Inuse Pin Pgsp Virtual
88b4f1 f work working storage sm 0.09 0 0 0.09
82d005 2 work process private sm 0.07 0.02 0 0.07
8e0c9c 3 work working storage sm 0.02 0 0 0.02
...............................................................................
SHARED segments Inuse Pin Pgsp Virtual
48.2 19.5 2.75 54.6
Vsid Esid Type Description PSize Inuse Pin Pgsp Virtual
9000 d work shared library text m 48.2 19.5 2.75 54.6
答え3
nmon の後に「m」と入力すると、メモリの有用な用途をすばやく表示します。
ipcs -am
DB2、Oracleなど、多くのアプリケーションで使用される共有メモリー命令でSEGSZのサイズを確認してくださいipcs -am
。所有者列は通常、SGAのOracleユーザーやDB2バッファ・キャッシュのdb2inst1などの目的を示します。
そしてプロセスによって異なるので、難しいかもしれません。同じプログラムファイルを実行するすべてのプロセスは読み取り専用コードページを共有します。プロセスがRDBMSやApacheなどの共通プロセスによって開始された後に分岐した場合は、一部またはほぼすべてのデータページとサックページを共有できます。プロセスに必要ですが、私たちにとってはほとんど見えない数十のライブラリの場合も同様です。
これらの不明な共有のため、通常、すべてのプロセスのすべてのメモリを合計すると、明らかにメモリよりもはるかに大きくなります。
nmon
最上位プロセスに「t」を使用し、プロセスサイズをソートするために「4」を使用すると、プロセスメモリが表示されます。
- サイズKB =ディスク上のプログラムファイルのサイズ。
- 常駐セットサイズ=メモリサイズ(コードなどのファイルシステムにまだ残っているページとページングディスクの一部を除く)。
- ResText列はResident Setのコードページです。
- ResData列は、常駐セットのデータとスタックページです。
答え4
このtopas
コマンドは、実際のメモリとコンピュータのメモリの割合を表示します。これはAIXでデフォルトで使用可能でなければならず、Linuxのものと似ています(しかしはるかに多くの情報を提供します)top
。
デフォルトでは、起動時にtopas
豊富な情報(CPUを使用する親プロセス、メモリ使用量の要約など)が表示され、押すと他のキーhとその機能とともにインラインヘルプテキストが表示されます(たとえば、c数回押すと次の手順が循環します)。さまざまな方法でCPU使用率のリスト)。