tomcat本身是一个很好的服务器容器,免费,功能强大,身后被很多强大的公司和组织默默的支持着,造就了一个可以和weblogic等收费容器抗衡的地位,但是tomcat本身还是存在一些缺陷。
在tomcat设计之初,因为考虑到客户的服务器性能不同,防止虚拟内存不足,所以tomcat默认设置jvm允许使用内存数为最小64M,最大128M,但是在一些项目占用资源比较庞大,或者高并发量的项目中,狠容易造成内存不足而tomcat没有任何征兆就自动停止。
最好的办法是修改tomcat对jvm内存使用的限制。
方法有两个:
1,编辑%CATALINA_HOME%\bin下面的catalina.bat文件,在最上面第一行前面写上
set JAVA_OPTS=-Xms512m -Xmx1024m
其中-Xms表示jvm最小内存数,-Xmx表示最大内存数
比如我这里都设置成最小512,最大1024
当然,这个最小最大并不是只能使用1024的意思,其实这个设置是对系统来设置的,因为这个jvm占用内存数实际上是针对虚拟内存来说,这个设置表示,无 论系统怎么占用虚拟内存,都要保证最小512M的虚拟内存共给jvm使用,当然,就算我jvm占用再大,也不会超过1024,来威胁系统的内存使用
2,在环境变量里面添加如下两个值
加上TOMCAT_OPTS, CATALINA_OPTS两个属性,
如 SET CATALINA_OPTS= -Xms512m -Xmx1024m;
意义同上
但是如何查看jvm内存使用多少呢?最简单的办法就是打开任务管理器–>进程–>查看–>选择列,选上虚拟内存数->确 定,就会看见虚拟内存数了,这时,你会看见虚拟内存会有512~1024M的空间被占用,那么就是被你设定好的值所占用了,jvm的内存使用,就会在这个 被占用的范围内使用
另外一个办法就是写一个小脚本,命名为ram.jsp
代码为
<%
Runtime lRuntime = Runtime.getRuntime();
out.println(”***BEGIN MEMERY STATISTICS ***</BR>”);
out.println(”Free Momery:”+lRuntime.freeMemory()+”</BR>”);
out.println(”Max Momery:”+lRuntime.maxMemory()+”</BR>”);
out.println(”Total Momery:”+lRuntime.totalMemory()+”</BR>”);
out.println(”Available Processors : “+lRuntime.availableProcessors()+”</BR>”);
out.println(”***END MEMERY STATISTICS ***”);
%>
具体都是什么意思,相信你运行了之后就会明白的:)
分享到:
相关推荐
对tomcat jvm内存进行修改,以避免tomcat内存溢出。
tomcat修改JVM内存配置(解决大项目内存溢出问题有效方案)
Tomcat JVM虚拟机默认内存1800 M左右,当服务内存不够用时,需要手动设置内存大小,不可超过服务器系统内存的80%,本文档提供设置方法(使用命令启动有效),实测可用。
如何配置Tomcat的JVM虚拟机内存大小
tomcat的jvm内存.txt
要加“m”说明是MB,否则就是KB了,在启动tomcat时会报内存不足。 -Xms:初始值 -Xmx:最大值 -Xmn:最小值 解决办法: 修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Tomcat Service Manager\...
jvm内存监控及调优方法,详细讲解jvm的原理以及常用调优手段
jvm 内存监控
原文链接:https://blog.csdn.net/m0_37814112/article/details/119028528 说明:Kubernetes集群之微服务JVM内存监控,prometheus服务yaml文件
java虚拟机jvm及Tomcat中的jvm有关内存的设置与调优
设置Tomcat的JVM虚拟机内存大小,防止内存溢出
Linux环境的Tomcat JVM内存优化 java虚拟机内存溢出问题的解决
tomcat7安装使用及jvm连接数参数调优
NULL 博文链接:https://long-ltoy.iteye.com/blog/2352376
JVM内存状况查看方法和分析工具,值得借鉴
eclipse与tomcat的JVM设置
程序运行要用到的内存大于虚拟机能提供的最大内存就发生内存溢出了, 内存溢出的问题要看业务和系统大小而定,对于某些系统可能内存溢出不常见,但某些系统还是很常见的解决的方法
主要是JVM内存分配及简单的JVM性能调优
脚本调用: ./tomcat_monitor -u admin -p admin -h 127.0.0.1 -P 8080 返回信息: { "static_tomcat_version":8, "tomcat_server_status":1, "application0":{ "status":"running", "path":"/app1", "active_...