AIX での CPU 使用率を低く抑えるための Java のベスト コーディング プラクティスに関するヒントを教えてください。たとえば、while(true) ループを回避するなど、私の要件は、同じサーバーで実行されている他の重要なアプリケーションを占有しないように、Java アプリケーションを低い CPU 使用率で実行する必要があることです。
質問する
541 次
2 に答える
5
Java に付属する無料の VisualVM から始めて、CPU とメモリのプロファイラーを実行し、最も時間がかかるコードを最適化します。
プロファイラーを使用せずにコードを最適化しようとするのは、推測にすぎません。
注: GC コレクションが表示されていない場合を除き、メモリの割り当てとガベージの破棄は CPU を使用する (そしてキャッシュのチャーンを引き起こす) ため、CPU の使用率とパフォーマンスを向上させることができます。
私の要件は、同じサーバーで実行されている他の重要なアプリケーションを占有しないように、Java アプリケーションを低い CPU 使用率で実行する必要があることです。
問題が解決するまで、CPUの優先度を下げることから始めます。
于 2013-01-02T09:32:51.947 に答える
2
CPU を使いすぎないようにアプリを作成するだけでなく、 を使用してアプリケーションに優先順位を付けることもできますnice
。
簡単に言うと、nice は特定のプロセスが消費できる CPU リソースの量を決定し、他のプロセスが先に実行されるようにします (CPU のより高いタイムシェアを取得します)。
他のツール/テクニックが存在します - 詳細についてはリンクを参照してください。
于 2013-01-02T09:40:33.733 に答える