jvm调试笔录

Posted zz_cl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jvm调试笔录相关的知识,希望对你有一定的参考价值。

运行JDK安装目录中bin下的jconsole.exe,可以进行本地进程或远程进程监控。

对应哪个进程,可以查看端口占用情况来选择,如应用若发布在8081端口,则可以运行命令netstat  -aon|findstr  "8081" ,获取进程id。

以下是几个常用的cmd进程操作命令

tasklist|findstr "pid" //根据进程id查看进程
tasklist /fi "imagename eq pname(可以使用通配符)" //根据进程名称查看进程
netstat  -aon|findstr  "8081" //查看端口情况
taskkill /f /t /im /javaw.exe //根据进程名称杀死进程
taskkill /pid 2472 -t -f; //根据进程id杀死进程
或用jps命令来查看当前运行的java进程

通过jconsole可以查看jvm里,heap区下的Eden Space(伊甸园)、Survivor Space(幸存者区)、Tenured Gen(老年代-养老区)。 非heap区下的Code Cache(代码缓存区)、Perm Gen(永久代)、Jvm Stack(java虚拟机栈)、Local Method Statck(本地方法栈)信息,分析堆内存使用情况,cpu使用情况,线程运行情况,vm参数等等。也可以使用jconsole提供的死锁检测功能来捕获造成死锁原因。也可以直接使用jstack -l pid命令,来打印java进程的dump信息。

以上是关于jvm调试笔录的主要内容,如果未能解决你的问题,请参考以下文章

JVM--内存区域划分

JVM线程内存区域划分

JVM中的堆的新生代老年代永久代

几个jvm优化配置参数

JVM的常用的调优策略和垃圾回收算法及Tomcat的常用调优参数

JVM性能调优有哪些方法