2011-07-12 10 views
2

可能性の重複:
Practical limitations of JVM memory and CPU usage?64ビットLinuxでのプロセスメモリとCPUの制限?

のはお金が制限要因ではなかった、と私は、単一の強力なマシン上で実行するJavaプログラムを書きたいとしましょう。

Javaプログラムをスワップしたり、ディスクに移動することなく、できるだけ早く実行させることが目標です。

のは、このコンピュータが有することとしましょう:RAMの

  • 1 TB(64個の16ギガバイトのDIMM)64ビットのUbuntu
を実行
  • 64プロセッサコア(8 8コアプロセッサ)
  • JVMで実行されているJavaプログラムの1つのインスタンスで、このような多くのRAMとプロセッサを利用できますか?

    使用法と効率を制限する可能性のある実用的な考慮事項はありますか?

    • ハードウェアの制限(たとえば、CPUはTBのメモリで動作しますか)
    • OSプロセス(メモリ&スレッド)の制限?
    • JVMメモリ/ヒープの制限?
    • JVMスレッドの制限?

    通常の実行可能ファイル(Cプログラム)は上記の仕様を利用できますか?

    おかげで、 ガレン

  • +2

    興味深い質問ですが、実際にはシステム管理に関係しているようには思えません。私は、あなたがもっと良い応答をhttp://programmers.stackexchange.com/ – Zoredache

    答えて

    4

    はい、JVMはそのくらいのRAMおよびプロセッサを活用することができます。実際、RedHatを実行していることを除いて、私が説明したのとほぼ同じ構成のマシンがあります。すべてのプロセッサコアを使用するには、アプリケーションをマルチスレッド化する必要があります。

    ハードウェアの制限に関しては、常に複雑なキャッシュ問題がありますが、すべてのスレッドがRAMの複数の領域にランダムにアクセスする場合、キャッシュの一貫性が低くなる可能性があります。おおよそ同じ領域のRAMを使用している場合は、キャッシュヒットが向上する可能性があります。

    具体的には、どのような種類のアプリケーションを作成するかを知っておくといいでしょう。

    +0

    で得るかもしれないと思う。ところで、私はIBMから1年前に$ 80kのマシンを手に入れた。 – Rich