Tomcat占用JVM内存数修改及监控
创始人
2024-07-14 21:51:38
0

在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文件

在最上面***行前面写上

  1. setJAVA_OPTS=-Xms512m-Xmx1024m  
  2.  

其中-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

代码为

  1. <%  
  2. RuntimeRuntimelRuntime=Runtime.getRuntime();  
  3. out.println(”***BEGINMEMERYSTATISTICS***
    ”);  
  4. out.println(”FreeMomery:”+lRuntime.freeMemory()+”
    ”);  
  5. out.println(”MaxMomery:”+lRuntime.maxMemory()+”
    ”);  
  6. out.println(”TotalMomery:”+lRuntime.totalMemory()+”
    ”);  
  7. out.println(”AvailableProcessors:
  8. “+lRuntime.availableProcessors()+”
    ”);  
  9. out.println(”***ENDMEMERYSTATISTICS***”);  
  10. %> 

【编辑推荐】

  1. 使用Tomcat5轻松设置JVM内存
  2. Tomcat配置JVM参数巧妙方法
  3. JVM基础:解析JVM分代垃圾回收策略
  4. JVM for Linux JIT诊断技术简介
  5. 巧解IBM JVM for Linux onPOWER性能调优

 

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...