システムのチューニングはカーネルの最適化やアプリケーションの活用だけでなく、無駄のない高速なシステムを構築するところから始まります。たとえばパーティションやファイルシステムの設定によっても、サーバの速度は速くも遅くもなります。また動作させるサービスや定期的に実行されるスケジュールタスクなどについても、性能への影響があります。
カーネルコントロールグループ ( 「cgroups」 ) は、プロセスに対してハードウエアやシステムの資源を割り当てたり、制限したりするための仕組みです。この機能を利用することで、プロセスをツリー構造で管理することができるようになります。
多数の CPU と大容量のメモリを必要とする構成では、ハードウエアに対する物理的な制限にぶつかることがあります。本章では、 CPU とメモリの間の通信帯域の制限が存在することによる制限事項について説明しています。また、このような問題に対応する目的で作られた、 Non-Uniform Memory Access (NUMA) と呼ばれるアーキテクチャ変更についても、説明を行っています。
NUMA 構成のハードウエアには複数のノードが存在しています。それぞれのノード内には、 CPU とメモリが存在しています。メモリへのアクセス速度は、 CPU に近い場所にあるのかどうかによって変化します。つまり全体的な処理性能も、アクセスすべきメモリが近い場所にあるのかどうかによって異なることになります。自動的な NUMA バランス調整の仕組みは、 CPU と CPU がアクセスすべきメモリを、できる限り CPU に近い位置に配置しようとする仕組みです。この仕組みを利用することで、 NUMA ハードウエアを使用していれば、劇的に性能を改善することができるようになります。
電源管理機能は、電力や冷却システムに対する運用コストを下げるためのものだけでなく、それと同時に現在の要件に適合したレベルの性能を維持するために必要な機能です。そのため電源管理機能は、必要な性能の維持と省電力のバランスを常に取る必要があることになります。電源管理機能はシステム内の様々なレベルで実装され使用されています。デバイスやオペレーティングシステムの電源管理機能の仕様集は、 Advanced Configuration and Power Interface (ACPI) として規定されています。サーバ環境での省電力は主にプロセッサレベルで実現されていますが、本章では主な考え方と分析に使用するツール類、そして影響するパラメータについて説明しています。