Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
您可以为64位linux上的32位Sun Java 6 JVM设置的最大堆设置是什么?_Java_Jvm - Fatal编程技术网

您可以为64位linux上的32位Sun Java 6 JVM设置的最大堆设置是什么?

您可以为64位linux上的32位Sun Java 6 JVM设置的最大堆设置是什么?,java,jvm,Java,Jvm,可能重复: 我们有一个运行32位JVM的64位Linux服务器。由于各种内部原因,我们不想升级到64位JVM。假设我的操作系统可以使用比32位程序更多的方式,那么最大的-xmx值是多少 它到底是4096还是有一些填充必须更低?3788.8 MB是64位Linux上32位JVM的最大堆大小。 资料来源: (对于较旧的Java,实际上可能或多或少是Java 6)第一次google搜索linux highmen max内存列表对于64位内核上的32位进程(ppc64或x86_64上的常见情况),限制

可能重复:

我们有一个运行32位JVM的64位Linux服务器。由于各种内部原因,我们不想升级到64位JVM。假设我的操作系统可以使用比32位程序更多的方式,那么最大的-xmx值是多少


它到底是4096还是有一些填充必须更低?

3788.8 MB是64位Linux上32位JVM的最大堆大小。 资料来源:
(对于较旧的Java,实际上可能或多或少是Java 6)

第一次google搜索linux highmen max内存列表
对于64位内核上的32位进程(ppc64或x86_64上的常见情况),限制通常为(4GB-一页)。
。我看不出内核需要在进程地址空间之外保留1gb虚拟内存的任何原因,因为它有TB的空闲空间。@Voo-记住,他问的是堆大小,而不是JVM进程的大小。堆大小是JVM中运行的Java应用程序可用的RAM量,因此堆大小不包括JVM本身使用的RAM。是的,所以我们显然必须减去几百mb。正如您自己的链接所示,64位操作系统下32位进程的可用堆内存肯定大于3gb(同样的参数也适用于“可以使用3gb”)+1现在链接。@Voo-你的答案是正确的,所以我更正了我的答案,谢谢你的反馈。请小心使用最大可能值。堆只是Java应用程序使用的内存的一部分。您应该很好地进行监控,因为Java应用程序还需要为线程留出空间,并在永久生成中存储类、对象/插入字符串等。还要考虑GC(但是对于小堆来说,暂停时间不应该太长)在命令上使用
jmap-heap
,或者使用jconsole/jvisualvm监视最佳大小。阿尔索