在Tomcat设计之初,因为考虑到客户的服务器性能不同,防止虚拟内存不足,所以Tomcat默认设置JVM允许使用内存数为最小64M,***128M,但是在一些项目占用资源比较庞大,或者高并发量的项目中,很容易造成内存不足而Tomcat没有任何征兆就自动停止。
Tomcat占用JVM内存数修改方法及监控方法
Tomcat本身是一个很好的服务器容器,免费,功能强大,身后被很多强大的公司和组织默默的支持着,造就了一个可以和weblogic等收费容器抗衡的地位,但是Tomcat本身还是存在一些缺陷。
在Tomcat设计之初,因为考虑到客户的服务器性能不同,防止虚拟内存不足,所以Tomcat默认设置JVM允许使用内存数为最小64M,***128M,但是在一些项目占用资源比较庞大,或者高并发量的项目中,很容易造成内存不足而Tomcat没有任何征兆就自动停止。
***的办法是修改Tomcat对JVM内存使用的限制。
方法有两个:
1,编辑%CATALINA_HOME%\bin下面的catalina.bat文件
在最上面***行前面写上
- setJAVA_OPTS=-Xms512m-Xmx1024m
其中-Xms表示JVM最小内存数,-Xmx表示***内存数
比如我这里都设置成最小512,***1024
当然,这个最小***并不是只能使用1024的意思,其实这个设置是对系统来设置的,因为这个JVM占用内存数实际上是针对虚拟内存来说,这个设置表示,无论系统怎么占用虚拟内存,都要保证最小512M的虚拟内存共给JVM使用,当然,就算我JVM占用再大,也不会超过1024,来威胁系统的内存使用。
2,在环境变量里面添加如下两个值
加上Tomcat_OPTS,CATALINA_OPTS两个属性,如SETCATALINA_OPTS=-Xms512m-Xmx1024m;意义同上
但是如何查看JVM内存使用多少呢?最简单的办法就是打开任务管理器–>进程–>查看–>选择列,选上虚拟内存数->确定,就会看见虚拟内存数了,这时,你会看见虚拟内存会有512~1024M的空间被占用,那么就是被你设定好的值所占用了,JVM的内存使用,就会在这个被占用的范围内使用。
另外一个办法就是写一个小脚本,命名为ram.jsp
代码为
- <%
- RuntimeRuntimelRuntime=Runtime.getRuntime();
- out.println(”***BEGINMEMERYSTATISTICS***”);
- out.println(”FreeMomery:”+lRuntime.freeMemory()+””);
- out.println(”MaxMomery:”+lRuntime.maxMemory()+””);
- out.println(”TotalMomery:”+lRuntime.totalMemory()+””);
- out.println(”AvailableProcessors:
- “+lRuntime.availableProcessors()+””);
- out.println(”***ENDMEMERYSTATISTICS***”);
- %>
【编辑推荐】
分享文章:Tomcat占用JVM内存数修改及监控
文章链接:http://www.shufengxianlan.com/qtweb/news40/368890.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联