Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.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
设置java服务器堆大小的规则或指南_Java_Heap Memory_Java Server - Fatal编程技术网

设置java服务器堆大小的规则或指南

设置java服务器堆大小的规则或指南,java,heap-memory,java-server,Java,Heap Memory,Java Server,我对特定的应用程序或环境不感兴趣。虽然我现在在应用程序部署中面临这个问题,但我对一个更通用的解决方案感兴趣 关于在java服务器上设置堆大小的大小是否有一些规则?(特别是现在,我正在使用Tomcat7)。使用-Xms和-Xmx可以分别指定堆大小的最小值和最大值。根据部署在服务器上的应用程序,如何知道要设置的最大和最小堆大小。是否有一种通用的方法可以找到它,或者它是否更经验性地与部署的应用程序相关我所说的“与部署的应用程序相关”是指你必须知道你的应用程序在做什么,数据库工作,用户界面工作,或任何其

我对特定的应用程序或环境不感兴趣。虽然我现在在应用程序部署中面临这个问题,但我对一个更通用的解决方案感兴趣


关于在java服务器上设置堆大小的大小是否有一些规则?(特别是现在,我正在使用Tomcat7)。使用
-Xms
-Xmx
可以分别指定堆大小的最小值和最大值。根据部署在服务器上的应用程序,如何知道要设置的最大和最小堆大小。是否有一种通用的方法可以找到它,或者它是否更经验性地与部署的应用程序相关我所说的“与部署的应用程序相关”是指你必须知道你的应用程序在做什么,数据库工作,用户界面工作,或任何其他内存消耗方面的事情。

我在几家公司做过java web app,对他们所有人来说都是完全经验性的。 这主要取决于机器,而不是应用程序。例如,如果您有一台只有tomcat服务器的4GB机器,那么您允许它占用3GB。如果服务器内存不足,请尝试修复它或购买更多内存。。。我认为这比付钱给别人计算所需的内存要便宜


我认为在大公司也是如此,没有什么秘密…

这是经验-观察你的应用程序,看看它是如何运行的

还有更多的内容——作为初学者,请阅读。如果你进入这个领域,看看——有很多关于调优内存问题的资料,等等


现在,在通常情况下,您不应该为
-Xms
而烦恼。将
-Xmx
设置为应用程序所需的任何值(观察,找出答案)。JVM会在需要时增加内存池的大小,并相应地减少它们。只需确保不会从内存错误中获取
OutOfMemoryError
s。然后,检查您的应用程序是否存在内存瓶颈(例如,完整GC或long stop the world阶段),并根据需要调整池大小和/或配置GC。

不幸的是,这取决于您的应用程序正在做什么(以及它需要如何与服务器上的其他东西共享资源)。@Thilo So,你的意思是它需要测试一个精确的设置。。。?