进入jdk的bin目录下执行以下命令 堆内存dump ./jmap -dump:live,format=b,file=fileName pid. live代表存活的对象 栈dump ./jstack pid > fileName
统计jvm 内存使用信息: 比较常用的是jstat -gcutil pid 间隔时间(ms) http://docs.oracle.com/javase/1.5.0/docs/tooldocs/share/jstat.html
设置PermSize参数:JVM 启动时增加参数 -XX:PermSize=128M
设置GC相关的日志路径和GC开关 -verbose:gc -Xloggc:filePath -XX:+PrintGCDetails -XX:+PrintGCTimeStamps
查看jvm启动时的参数设置: ./jinfo -flag MaxPermSize pid ./jinfo -flag PermSize pid ./jinfo -flag PrintGCDetails pid
查看进程中占用cpu最高的线程id,转换为16进制后去jstack中找线程. top -H -p 4225
其中pid指jvm进程的id,可以通过 ps aux | grep java 找到pid