私は専用のX3440サーバーでリアルタイムアプリケーションを実行していて、なぜアプリケーションのパフォーマンスが以前のVPSボックスより悪いのだろうと思っています。次に、私はhttp://i7z.googlecode.com/svn/trunk/i7z_64bitをダウンロードし、それを実行して通常の使用状況(約10%のCPUの上)で、すべてのCPUコアが900MHz〜1200MHzのままであり、それが急速に変動し、不一致であることを確認します。パフォーマンスガバナがCPU周波数を最大でロックしない
次に、ガバナーをオンデマンドからパフォーマンス(エコーパフォーマンス>/sys/devices/system/cpu/cpu */cpufreq/scaling_governor)に設定しようとすると、すべてのCPUコアが1700〜1900Mhz (まだ変動していますが)アプリケーションのパフォーマンスはまだ私の基準を満たしていません。
"service cpuspeed stop"と入力してスケーリングを完全に無効にしようとしていますが、それでもパフォーマンスガバナーと同じ結果が表示されています。パフォーマンスガバナーがCPU周波数を最大でロックしていないのはなぜかと思いました。
その後、私はコアのそれぞれに4つの別々のダミー素敵な優先度の低いタスクを実行しよう: yumの
コンテンツdummy.c gccの
nanoをインストールします。
int main() {
while(1);
}
gccのダミー.c -oダミー
このようにして、4つのコアはすべて2533mhzと(ガバナの設定にかかわらず)もはや変動することはありません。そして今、私のアプリケーションは非常に恒星を演出し、何の不満もありません。しかし、私はこれらのタスクがリソースを無駄にする方法が嫌いです。優先度の低いメインアプリケーションを妨害していないにもかかわらずです。
私の質問: 私の家庭のデスクトップのWindowsコンピュータでは、何とか私のCPU速度は常に最高周波数で安定しています。しかし、なぜこのCentOS 6 2.6.32 x86_64専用サーバでは起こらないのですか?最高の低優先度タスクを使用せずに、すべてのCPUコアを最大周波数に設定する方法はありますか?