tomcat初始分配内存较少,不适合大型web应用,需要适当调整内存参数。
在linux下,修改tomcat目录下的bin目录下的catalina.sh,在CLASSPATH= 的下一行添加JAVA_OPTS="",如下
设置了初始持久代和最大持久代内存以及初始堆内存和最大堆内存,堆内存初始和最大相同,防止jvm扩充堆内存浪费性能。
重新启动tomcat;
jps 命令列出java进程
BootStrap就是tomcat的进程,使用 -v 参数看到进程详细信息,jps -v|grep 进程关键字,找到进程pid
jmap -heap pid 查看内存分配情况
MaxHeapSize 设定的堆内存
perSize 设定的持久代(非堆)内存,这部分不会被jvm回收。
后面的为总和 使用及剩余情况。
jmap -histo pid 查看对象数量及占用内存情况,jmap -histo:live pid g活的对象占用情况,内容较多一般重定向到文件jmap -histo pid > 1.txt