最近业务服务器在早上并发时出现地区性无法响应问题,初步推断是内存爆掉,导致swap交换不过来了,为了寻找占用内存的怪兽,使用jvisualvm协助监控。
环境JDK1.8,在jdk下的bin目录提供了很多优秀的工具,例如:jvisualvm
然后在服务端启动jstatd。在当前目录下心间jstatd.all.policy文件
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
命令启动:
./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=192.168.1.233
然后本地使用jvisualvm连接吧:)