【发布时间】:2012-06-15 05:51:43
【问题描述】:
我有一台 8 GB RAM 和 32 位 JVM 在 linux 上的机器,我想让 JVM 使用最大 USE OF RAM, 我认为如果我增加堆大小内存,那么垃圾收集器会变慢。是否有其他解决方案可以提高处理速度? 提前致谢。
【问题讨论】:
-
你有安装/使用 64 位 JVM 的选项吗?
-
您将无法在 32 位 JVM 上使用所有 ram。但是,您的问题有点不清楚,为什么需要使用 ram?根据您的设置和对象创建的特性,增加团队可能会使 GC 更慢……或更快。处理速度可能与内存有关,但请告诉我们更多您在做什么以及您想要改进的更多细节。
-
@RogerLindsjö 那是错误的。 32 位 JVM 可以使用多少 RAM 没有限制。操作系统可以使用的任何 RAM,JVM 都可以使用。 32 位限制是虚拟地址空间,而不是 RAM。 32 位进程可以使用多少 RAM 没有特别限制 - 如果操作系统可以使用它,则该进程可以使用它。
-
@DavidSchwartz 如果虚拟地址空间被限制为 32 位指针,那么它的地址不能超过 4 GB。另请参阅 stackoverflow.com/questions/1434779/…,其中引用了 oracle 常见问题解答
-
@RogerLindsjö 它没有超过 4GB 的地址空间,是的。但问题是关于RAM,而不是地址空间。有很多方法可以使用比地址空间更多的 RAM。 (最明显的是,由于磁盘缓存,读取和写入完全保留在 RAM 中的文件。)