CentOS 5.4 VPS上でJavaサーバーを実行しています。 VPS統計: - 2.5GHzのシングルコアCPU - RAM 2GBの - OpenJDKの1.6私はjavaプロセスから非常に高いCPUの使用状況を経験してきたJavaメソッドの実行時間が高い
を(も日JDK 1.7を試してみました)。私はその後、Javaプロセスのプロファイリングを試して、何がスローダウンを引き起こしているのかを見てみました。私は、Random.nextInt():787msのような単純なメソッドは、1回の呼び出しを終了するのに1000分の1ミリ秒かかると分かりました。メソッドのほとんどはこの時間がかかりすぎず、私のサーバー上で非常に高いCPU使用率を引き起こしています。これはCentOSに間違っていますか?またはJava?私のVPSで正しく構成されていないものがありますか?
使用されているランダムな方法によっては、マシンにエントロピーが残っていない可能性があり、次の番号を生成する前にさらに表示されるのを待っています。 –
それにもかかわらず...ランダムintを取得するには、ほとんどの秒を取るべきではありません。仮想環境では、仮想サーバーが過剰にオーバーサブスクライブされたハードウェア上にある可能性があります。このハードウェアは、vmstatなどのOSレベルのツールを使用して表示されません。あなたがSSHを箱に入れた場合、それは反応的か不調かを感じるでしょうか? –
JavaがCPUの97%程度を取っていないときはかなり高速です。私は – Zachar543