西数超哥博客
运维经验教程分享

linux环境下tomcat容器中 jvm通过catalina.sh内存限制

前段时间,线上服务器一个项目内存泄漏把内存跑多了,导致整个服务器出问题,于是内存限制就需要去搞一下。下边简单记录下更改jvm内存限制:

[root@21yunwei bin]# cd /usr/local/tomcat_8080/bin/
[root@21yunwei bin]# ll
total 792
-rw-r--r-- 1 root root  27099 Jun 15 16:40 bootstrap.jar
-rw-r--r-- 1 root root   1647 Jun 15 16:41 catalina-tasks.xml
-rw-r--r-- 1 root root  13372 Jun 15 16:40 catalina.bat
-rwxr-xr-x 1 root root  21704 Jul  4 07:55 catalina.sh

进入了项目里边的bin目录找到 catalina.sh 添加如下:

CATALINA_OPTS="$CATALINA_OPTS -Xms256M -Xmx512M -Xmn256M"

重启该进程,查看如下:

[root@21yunwei bin]# ps aux | grep java
root        314  1.4  7.7 2972648 145444 pts/0  Sl   07:55   0:08 /usr/bin/java -Djava.util.logging.config.file=/usr/local/tomcat_8080/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Xms256M -Xmx512M -Xmn256M -Djava.endorsed.dirs=/usr/local/tomcat_8080/endorsed -classpath /usr/local/tomcat_8080/bin/bootstrap.jar:/usr/local/tomcat_8080/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat_8080 -Dcatalina.home=/usr/local/tomcat_8080 -Djava.io.tmpdir=/usr/local/tomcat_8080/temp org.apache.catalina.startup.Bootstrap start
root        343  0.0  0.0   9040   672 pts/0    S+   08:05   0:00 grep --color=auto java

可见:
Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Xms256M -Xmx512M -Xmn256M 已经是修改成功了。

这里简单记录设定,参数是测试机的,非正式环境。正式环境的JVM优化比这个还要复杂一些,刚才的参数简单说明如下:
1,说明参数: -Xms256M初始内存大小 -Xmx512M最大内存大小 -Xmn256M 最小内存大小
2,默认:初始值是物理内存的1/64 最大内存是物理内存1/4 可以根据自己服务器配置内存配置情况和项目部署情况进行配置。
3,可以根据一般的要将-Xms和-Xmx选项设置为相同,而-Xmn为1/4的-Xmx值。

转载请注明:西数超哥博客www.ysidc.top» linux环境下tomcat容器中 jvm通过catalina.sh内存限制

https://www.ysidc.top 西数超哥博客,数据库,西数超哥,虚拟主机,域名注册,域名,云服务器,云主机,云建站,ysidc.top

赞(0)
声明:本站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,若涉及侵权请及时告知,将会在第一时间删除。本站原创内容未经允许不得转载:西数超哥博客 » linux环境下tomcat容器中 jvm通过catalina.sh内存限制