使用top M 命令时查看java进程占用内存比例
使用top -Hp PID查看该进程下所有线程
使用 jinfo PID 查看JVM信息
可以看到初始堆内存268M 最大堆内存520M 新生代89M 最大173M,老年代179M
查看一下垃圾回收情况,使用jstat -gc PID 1000 ,1秒打印一次
表头的意义:
本项目启动时间太短了,而且没用过多的连接使用,因此只能作为测试看看,实际调优前应当先压力测试。
默认E:S0:S1为8:1:1 ,默认新生代和老年代比例为1:2,
使用jmap -histo PID | head -10 查看堆中占用最大的前10个对象
使用 jmap -dump:live,format=b,file=/root/myheapdump.hprof PID 导出堆内存快照。
用visualVM进行离线分析。
服务器内存占用过高,直接卡死了,幸好已经导出来快照,明天再来
当晚在阿里云重启了一下服务器,花了一段时间
VisualVM的分析
服务器实际1.7G内存,其他占用百分之六十多,java占用25%,测试项目不大。
如果要调的话在tomcat bin/catalinna.sh里编辑
例如:
在# OS specific support。。。。下()写
JAVA_OPTS="-Xms256m -Xmx512m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=256m"



