不要なサービスを停止することによるOSチューニング
不要なサービスを停止することによるOSチューニング
次にハードウェアの挙動に密接に関連するOSのサービスについて取り上げます。先述のようにRHEL4のOSチューニングではブートオプションなど カーネル起動時のオプションや設定ファイルを変更することがありますが、不要なサービスを起動させないことによるOSチューニングも必要です。ブートパラ メータだけでなく、OSが持つサービスの動作1つでハードウェア動作不良の問題が解決するということもよくあります。
RHEL4ではデフォルトで有効になっているサービスが多数ありますが、その中にはサーバ用途では不要なサービスや起動すべきではないサービスもあ ります。まず状況を確認するために、RHEL4でPSPをインストールした直後のランレベル3で起動されるサービス一覧を表示してみます。
特定のランレベルで起動されているサービス一覧を表示するにはchkconfigコマンドを使います。
# chkcnofig --list |grep 3:on |less
これを見ると、実は多くのサービスが起動されていることがわかります。サーバ用途であれば不要サービスは停止しておくことをお勧めします。ランレベルや用途によって必要なサービス/不必要なサービスがあるため、用途によって取捨選択する必要があります。
以下にあげるものは、一般的なサーバ用途で利用することが少ないため、停止しても影響があまりないと考えられるRHEL4の標準サービスの例です(表7)。
| FreeWnn | かな漢字変換サーバ |
| bluetooth | ブルートゥース機器をサポートするためのサービス |
| innd | インターネットニュースのサービス |
| irda | 赤外線通信のためのサービス |
| cups | 印刷システム |
| gpm | CUIコンソールでマウスを利用するためのアプリケーション |
| cups-config-daemon | 印刷システム設定デーモン |
| isdn | ISDNモデムをサポートするためのサービス |
| canna | かな漢字変換サーバ |
| iiim | 多言語対応の入力メソッドのサービス |
| pcmcia | PCカードをサポートするためのサービス |
昔のサーバはCPUが低速でメモリ容量も少なく、不要なサービスを止めることによって限られた計算機資源を有効利用しようという傾向がありました。 しかし現在ではx86サーバでさえ高速かつ大容量のメモリを搭載できるようになり、不要なサービスの停止というチューニングを行わなくても計算機資源が枯 渇するような事態に陥ることはほとんどなくなってしまいました。
しかし不要なサービスや望ましくないサービスを停止しないことが原因で、重大なトラブルが発生することも覚えておくべきです。
カーネルパラメータによるOSチューニング
カーネルパラメータを変更するためには、各種OSの機能に関して設定された/procファイルシステムで提供されているパラメータを変更します。 /proc以下のパラメータを直接echoコマンドで流し込む方法がありますが、これではOSのリブート後に設定が元に戻ってしまうので、実際は sysctlコマンドで行ってください。これにより設定情報は/etc/sysctl.confファイルに残ります。
カーネルパラメータ設定手順は下記の流れになります。
- 現在のカーネルパラメータを/proc以下で閲覧
- カーネルパラメータを/etc/sysctl.confファイルで設定
- カーネルパラメータの設定変更の有効化(sysctl -pコマンド)
- カーネルパラメータが変更されているか/proc以下の値を確認
カーネルパラメータを設定する場合は、上記手順の1「現在のカーネルパラメータを/proc以下で閲覧」を決して怠ってはいけません。まず RHEL4が提供する標準のパラメータを閲覧してログに残しておくことで、チューニング前のシステムの状態を正確に把握するためです。このとき既存のパラ メータに誤りがないか、不適切でないかも注意深く確認します。
このとき/procファイルシステムで提供されるパラメータは膨大ですが、チューニング前に、まずはハードウェアに関する情報が取得できているかを確認することが重要なのです。
今回のキーポイント
今回のキーポイントは次のようになります。
- RHEL4標準カーネルの/procファイルシステム配下のパラメータを調整する
- /procファイルシステム以下のパラメータを変更した瞬間から、そのパラメータでカーネルが動作する
- レッドハット社が変更を推奨してないパラメータが存在する
- RHEL4のカーネルに含まれるヘッダファイルやC言語ソースなどを変更してリコンパイルされたカーネルで動作したとしても、レッドハット社のサポートは受けられない