web-dev-qa-db-ja.com

LinuxサーバーとCPU /電力調整のベストプラクティスは?

私はいくつかのDebian6(2.6.32)および7(3.2)Linuxサーバーを実行しており、それらすべてのBIOSで省エネ設定が有効になっています。さらに、Linuxは、サーバーがアイドリングしている場合にCPUがスロットルされることを示しています。

これが害を及ぼす可能性があるのではないかと思います-たとえば、 Linuxはスロットリングを正しく処理できないため、パフォーマンスに影響しますか?

Linuxサーバーと電源/ CPUスロットリングのベストプラクティスはありますか?エネルギープロファイルを「パフォーマンス」に切り替えますか、それともBIOSとOSの両方をデフォルト設定のままにしますか?

私が尋ねている理由は、すべての値(CPU /負荷、メモリ、I/O、ネットワークなど)が正常であるように見えたにもかかわらず、物理的なDellサーバーでいくつかのパフォーマンスの問題が発生したためです。これらの特定のケースでBIOS電源設定を「パフォーマンス」に変更した後、パフォーマンスの問題を取り除くことができました。

5
Valentin

私が最新の知識を得たものをここに返信として投稿すれば、この質問に出くわした他の人にとってもメリットがあると思います。

私の特定の状況では、Linuxは特定の状況でスロットルされたCPUを再びスケールアップできないため、DellとIntelに話しました。デルは、この問題は既知であり、VMWareハイパーバイザーと多くのLinuxバリアントの両方で発生するため、DebianまたはDellモデルに固有ではないと回答しました。私の知る限り、Intel CPUを使用するすべてのDellシステムが影響を受ける可能性があり、もちろん他のハードウェアベンダーがこの問題を共有している可能性もあります。

デルは、ドイツ語で書かれたメールで次のように主張しています。

  • Linuxは、私の特定のケースでは、ハードウェアとの電源設定のネゴシエーションに失敗します
  • OSとファームウェアの両方を更新すると役立つ場合があります
  • 「パフォーマンス」プロファイルの使用は、既知の回避策です。

デルのメールを見ると、これを修正する方法はなく、回避策があるようです。したがって、私自身の質問への回答は次のようになります。

サーバーで発生する可能性のあるパフォーマンスやCPUスケーリングの問題を防ぐために、データセンター内のすべてのサーバーを「最大電力」モードにすることを強くお勧めします。

1
Valentin

興味深い質問...

一般に、システムパフォーマンスプロファイルは、アプリケーションとサーバーの使用目的に基づいています。私は通常、以下を使用します。

  • 低遅延のトランザクションが多いシステム。
  • 仮想化ホスト(VMware)。
  • LinuxベースのERPサーバー。

確定的なパフォーマンスと低遅延を必要とするシステムは、通常、高性能プロファイルに設定され、すべての C-States/P-States およびすべての電力調整を無効にします。

仮想化ホストは同じモデルに従うことができますが、(コロケーション施設のように)電力に制約がある場合、またはホスト/クラスター全体でワークロードが最小限である場合は、デフォルトのバランスの取れた電力/パフォーマンスプロファイルを有効のままにします。これは通常、データセンターの電力と冷却の料金を請求されており、より多くの物理サーバーを特定のフットプリントに統合できる必要があるためです。

ERPサーバーは通常スタンドアロンです。ワークロードが軽いほどデフォルトのバランスの取れたプロファイルが得られます。より具体的な調整が必要でワークロードが重い(24時間365日稼働)システムでは、高性能の電力プロファイルが適用される場合があります。

-編集-

繰り返しますが、パフォーマンスは、高性能電力プロファイルの下でより決定論的になる傾向があります。それは本当にあなたの特定のアプリケーションとあなたのユーザーが経験していることに依存します(私たちはあなたに何をすべきかを教えることができません)。 BIOSの省電力機能を無効にすると、パフォーマンスの問題が修正されたとおっしゃっています。

Linuxの場合は、PowerTopユーティリティをダウンロードして実験し、実際のワークロードでCPUが何をしているかを理解してください。

13
ewwhite