要約:

要約:

質問:物理メモリ使用量を報告する方法(いいえ隠れ家! )使用ナイモンまたは仮想マシンの状態または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ページ)の出力を表示するか、実行可能ファイル(同じ単位)を除くファイルキャッシュの「ファイルページ」を参照してください。perssvmon -Gvmstat -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使用率のリスト)。

関連情報