0

AIX での CPU 使用率を低く抑えるための Java のベスト コーディング プラクティスに関するヒントを教えてください。たとえば、while(true) ループを回避するなど、私の要件は、同じサーバーで実行されている他の重要なアプリケーションを占有しないように、Java アプリケーションを低い CPU 使用率で実行する必要があることです。

4

2 に答える 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 に答える