TOP
>
設計・移行・活用
> メモリ
Linux+DB2のパフォーマンスチューニング
第5回:カーネルをチューニングする
著者:
日本アイ・ビー・エム 田中 裕之、高比良 晋平
2006/6/2
前のページ
1
2
3
4
メモリ
メモリ関連のチューニング項目としては以下のようなものがあります。スワップの利用やダーティなページの扱いに関するパラメータがあります。意味や効果を理解した上で設定を行う必要があります。
パラメータ
設定例
説明
vm.swapiness
60
スワップの動作に関するパラメータです。値が大きいほどより積極的にスワップを使用する動作となります。
vm.dirty_ratio
40
メモリに対する割合で、ダーティなページがこの割合に達するとpdflushが動作します。
vm.ditry_background
_ratio
10
メモリに対する割合で、この割合に達するとバックグラウンドでpdflushが動作します。
vm.ditry_writeback
_centisecs
500
pdflushデーモンは定期的に起動してダーティなデータをディスクに書き出します。このパラメーターはpdflushデーモンが起動する間隔を指定します。単位は100分の1秒です。
vm.dirty_expire
_centisecs
3000
ダーティなデータがディスクに書き出すために十分に古くなるまでの時間を指定します。この値より長時間メモリ上に存在するダーティなデータはpdflushによってディスクに書き出されます。単位は100分の1秒です。
表7:メモリのパラメータ
ネットワーク
CPUは使い切っていない、I/Oがボトルネックなっているわけでもないのにパフォーマンスが悪い、ローカルで実行する時とリモートで実行するときでパフォーマンスの差が大きい、といった場合にネットワークがボトルネックとなっている可能性が考えられます。
ネットワークに関しては、カーネルパラメータの前にデバイスドライバ関連の設定を確認してください。ドライバのバージョン、リンクアップしている速度などです。速度を固定せずにオートネゴシエーションにしていたらリンクアップしている速度が低かった、という単純な設定ミスが原因であるケースもあります。
ネットワーク関連のカーネルパラメータとしては以下のようなものがあります。
パラメータ
設定例
説明
net.ipv4.
tcp_mem
4096 87380 174760
メモリ使用量に対するTCPスタックの動作を決定するオプションです。それぞれの値はメモリ・ページのサイズをあらわします(通常は4KB)。
最初の値は、メモリ使用量の最小しきい値をあらわします。次の値は、メモリ圧縮モードを開始してバッファ使用量を圧縮する際のしきい値をあらわします。最後の値は、メモリ使用量の最大しきい値をあらわします。最大しきい値に達すると、メモリ使用量を減らすためにパケットが破棄されます
net.ipv4.
tcp_wmem
4096 87380 174760
自動調整に必要な1ソケットあたりのメモリ使用量を定義するオプションです。
最初の値は、ソケットの送信用バッファに割り当てられている最小バイト数をあらわします。次の値は、システムに過大な負荷がかかっていない状態で、バッファのサイズをどこまで大きくできるかのデフォルト値を表します(wmem_defaultによって上書きされます)。最後の値は、送信用バッファー・スペースの最大値をあらわします(wmem_maxによって上書きされます)
net.ipv4.
tcp_rmem
4096 87380 174760
tcp_wmemと同様のオプションです
net.core.
wmem_default
110592
送信用ウィンドウ・サイズのデフォルト値を定義します
net.core.
wmem_max
110592
送信用ウィンドウ・サイズの最大値を定義します
net.core.
rmem_default
110592
受信用ウィンドウ・サイズのデフォルト値を定義します
net.core.
rmem_max
110592
受信用ウィンドウ・サイズの最大値を定義します
表7:ネットワーク関連のパラメータ
今回は主要なチューニングパラメータを説明しました。システムのパフォーマンスに関してボトルネックだと思われる現象に遭遇した際、最初から一部に原因を特定するのではなく、OS/ハードウェア/アプリケーションなど考えられる可能性をすべてリストアップして確認を行ってください。
ディスク装置のキャッシュがOFFになっていたためパフォーマンスがでなかった、SMPマシンであるのにユニプロセッサ用のカーネルが起動していた、など単純なミスが原因である場合もあります。原因が単純であるはずがないと考えるのではなく、まずすべての可能性をチェックして本当の原因を絞り込んでいくことが問題の解決の早道となります。
前のページ
1
2
3
4
著者プロフィール
日本アイ・ビー・エム株式会社 田中 裕之
日本アイ・ビー・エム株式会社、Linux アドバンスド・テクニカル・サポート所属
Linuxサポート・センター設立初期よりプロジェクト、案件サポートを実施。現在はソフトウェアとLinuxとの組み合わせでのテストをはじめとする各種検証などを担当。
著者プロフィール
日本アイ・ビー・エム株式会社 高比良 晋平
日本アイ・ビー・エム株式会社、Linux アドバンスド・テクニカル・サポート所属
2003年に入社以来、一貫して先進Linux関連プロジェクトやLinuxビジネスの開発に従事。現在はxSeriesハードウェア・プラットフォームでのLinuxの技術サポートを担当。
INDEX
第5回:カーネルをチューニングする
はじめに
プロセス間通信(IPC:Inter Process Communication)
アクセス時間の記録
メモリ