Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.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 Tomcat占用更多空间,然后配置?_Java_Linux_Ubuntu_Tomcat_Tomcat8 - Fatal编程技术网

Java Tomcat占用更多空间,然后配置?

Java Tomcat占用更多空间,然后配置?,java,linux,ubuntu,tomcat,tomcat8,Java,Linux,Ubuntu,Tomcat,Tomcat8,我正在使用以下配置运行tomcat8服务器: -Djava.awt.headless=true -XX:+UseConcMarkSweepGC -Xmx4g -Xms2g -server 因此,我希望tomcat不会占用超过4GB的RAM。这对于始终为其他应用程序保留ram非常重要 问题:当前我的tomcat运行在: systemctl status tomcat8: Memory: 6.7G 这怎么会发生呢?我是否必须重新启动tomcat(比如每月一次),以防止内存过度增长 top - 1

我正在使用以下配置运行tomcat8服务器:

-Djava.awt.headless=true
-XX:+UseConcMarkSweepGC
-Xmx4g
-Xms2g
-server
因此,我希望tomcat不会占用超过4GB的RAM。这对于始终为其他应用程序保留ram非常重要

问题:当前我的tomcat运行在:

systemctl status tomcat8:
Memory: 6.7G
这怎么会发生呢?我是否必须重新启动tomcat(比如每月一次),以防止内存过度增长

top - 13:23:57 up 159 days, 20:34,  2 users,  load average: 0.14, 0.05, 0.02
Tasks: 200 total,   1 running, 199 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.3 us,  0.0 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  8174980 total,   152976 free,  7078572 used,   943432 buff/cache
KiB Swap:  4198396 total,  1780352 free,  2418044 used.   689044 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                         
 7993 tomcat8   20   0 12.264g 6.603g   9716 S   1.0 84.7 787:13.05 java

-Xmx只设置最大java堆,而不是jvm进程最大值。有大量本机内存用于jit、堆外缓冲区等

那么,如果可能的话,我如何限制最大使用内存呢?@membersound你不能。如果不行,将-Xmx2g限制为2g会有帮助吗?我想是的。只有一种方法可以找到答案!