开源中文网

您的位置: 首页 > Tomcat > 正文

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

来源: 网络整理  作者: 佚名

下面我们来看一篇关于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 已经是修改成功了。
其中技巧如下:
1,说明参数: -Xms256M初始内存大小 -Xmx512M最大内存大小 -Xmn256M 最小内存大小
2,默认:初始值是物理内存的1/64 最大内存是物理内存1/4 可以根据自己服务器配置内存配置情况和项目部署情况进行配置。
3,可以根据一般的要将-Xms和-Xmx选项设置为相同,而-Xmn为1/4的-Xmx值。

Tags:容器 内存 环境
关于开源中文网 - 联系我们 - 广告服务 - 网站地图 - 版权声明