我正在使用以下配置运行tomcat8
服务器:
-Djava.awt.headless=true
-XX:+UseConcMarkSweepGC
-Xmx4g
-Xms2g
-server
因此,我希望tomcat不会超过4 GB的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
答案 0 :(得分:1)
-Xmx仅设置max java堆,而不是jvm进程max。有大量的本机内存用于jit,堆外缓冲区等...