|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Linux技術トレーニング 基本管理コース II第5章 パフォーマンス管理4.メモリ使用率4-1./usr/bin/free
freeコマンド
freeはシステムの物理メモリとスワップメモリそれぞれに対して使用量と空き容量を表示しカーネルが用いているバッファも表示します。 使用方法 $ /usr/bin/free [オプション] 主なオプションとしては、以下のものがあります。
/usr/bin/freeの表示項目は、以下の通りとなります。
コマンド実行例 [root@localhost ~]# free total used free shared buffers cached Mem: 715204 443348 271856 0 39952 291532 -/+ buffers/cache: 111864 603340 Swap: 883564 0 883564 4-2./usr/bin/vmstat
/usr/bin/vmstatコマンド
プロセスの状態、メモリの使用状況、ページングの回数、I/Oの回数、CPUの使用率など幅広い情報を取得できます。そのためデータベース等のアプリケーションのチューニングに便利です。 使用方法 $ /usr/bin/vmstat [-n] [間隔[回数]] オプションの意味は、以下の通りです。
間隔(秒)とその間隔で繰り返し実行します。回数を指定しているとその回数分実行します。 /usr/bin/vmstatの表示項目は、以下の通りとなります。
コマンド実行例 [root@localhost ~]# vmstat 1 3 procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 0 0 0 270752 41080 291576 0 0 13 8 1055 165 1 5 92 2 0 0 0 270736 41080 291576 0 0 0 0 1012 148 3 3 94 0 0 0 0 270736 41088 291576 0 0 0 40 954 144 4 2 81 12 4-3.考察(1)考察:必要メモリ量
統計項目のfreeとcacheに注意
freeとcacheの違い
/usr/bin/freeコマンドや/usr/bin/vmstatコマンドの統計項目にfreeとcacheがありますが、この項目の意味は注意が必要です。freeとは「空きメモリ」の意味ですが、キャッシュに割り当てられることで減っていきます。したがってfreeが小さいからといってメモリが不十分であるということにはなりません。/usr/bin/vmstatのso項目やアプリケーション側(例データベース)のヒット率等で総合的に判断する必要があります。
(2)考察:スワップ状況
アプリケーション側からはスワップの状況はわからない
例えば、オラクルデータベースでは、オラクルデータベースの機能として、各種のパフォーマンスの統計をとっています。それに基づきオラクルデータベースが使用するメモリの大きさをチューニングしても、それが実メモリの大きさを超えてスワップが発生した場合、オラクルデータベース側からは判断できません。したがってスワップの状況などはOS側で調査すべき重要な統計項目です。 (注目すべき項目)
(3)考察:プロセスの待機
アプリケーション側のプロセスの待機をOS側でも検証してみる
例えば、オラクルデータベースでは、オラクルデータベースの機能として、各種のパフォーマンスの統計をとっています。それに基づきオラクルの特定のプロセスが待機していることが判断できるとき、OS側でもその様子を検証することができます。 たとえば、オラクルデータベース側でチェックポイントの完了をログスイッチが待機するという代表的なケースがあります。この場合、オラクル側のシステム統計で、「log file switch (checkpoint incomplte)」という待機統計が上位に待機項目の中で上位に位置づけられます。このようにアプリケーへション側でプロセスが待機していることをOS側でも裏付けるために、Linuxのコマンドを使うことは有効です。 (注目すべき項目)
次にこれら、パフォーマンスに関して注目すべき項目の簡単なフローについてご紹介します。
|