【问题标题】:Process memory and CPU limitations on 64-bit Linux? [duplicate]64 位 Linux 上的进程内存和 CPU 限制? [复制]
【发布时间】:2011-10-03 20:19:01
【问题描述】:

可能重复:
Practical limitations of JVM memory and CPU usage?

假设金钱不是一个限制因素,我想编写一个在一台强大的机器上运行的 Java 程序。

我们的目标是让 Java 程序尽可能快地运行,而无需交换或转到磁盘

假设这台电脑有:

  • 1 TB RAM(64 个 16GB DIMM)
  • 64 个处理器内核(8 个 8 核处理器)
  • 运行 64 位 Ubuntu

在 JVM 中运行的 Java 程序的单个实例能否利用这么多 RAM 和处理器?

是否有任何实际考虑可能会限制使用和效率?

  • 硬件限制(例如,CPU 能否在 TB 内存上协同工作)?
  • 操作系统进程(内存和线程)限制?
  • JVM 内存/堆限制?
  • JVM 线程限制?

常规可执行文件(即 C 程序)能否利用上述规范?

谢谢, 盖伦

【问题讨论】:

标签: linux java memory-management jvm max


【解决方案1】:

是的,JVM 可以利用那么多 RAM 和处理器。事实上,我有一台与您描述的配置几乎相同的机器,只是它运行的是 RedHat。请记住,您的应用程序需要多线程才能使用所有处理器内核。

至于硬件限制,缓存问题总是很复杂,但经验法则是,如果您的所有线程都随机访问多个 RAM 区域,您可能会获得低缓存一致性。如果它们访问的 RAM 区域大致相同,那么您可能会获得更好的缓存命中率。

具体来说,很高兴知道您打算编写什么样的应用程序。

【讨论】:

  • 顺便说一句,我一年前从 IBM 以大约 8 万美元的价格购买了这台机器。
猜你喜欢
  • 2011-01-24
  • 1970-01-01
  • 1970-01-01
  • 2015-01-16
  • 2013-08-19
  • 1970-01-01
相关资源
最近更新 更多