福州网站设计外包,书城网站开发,寿光网站建设哪家好,html设计个人网页1. Java 性能排查 使用JPS查看当前Java进程 jps #查询需要排查的Java进程ID查看Java进程内最耗费CPU的线程资源使用情况 top -H -p Java进程pidps -Lfp Java进程pidps -mp Java进程pid -o THREAD, tid, time根据第1步查询出的PID#xff0c;通过jstac…1. Java 性能排查 使用JPS查看当前Java进程 jps #查询需要排查的Java进程ID查看Java进程内最耗费CPU的线程资源使用情况 top -H -p Java进程pidps -Lfp Java进程pidps -mp Java进程pid -o THREAD, tid, time 根据第1步查询出的PID通过jstack查询Java线程所对应的jstack的Java线程ID需要将十进制转化为十六进制 1. printf %x\n Java进程pid #获取十六进制值
2. jstack Java进程pid | grep nid0xJava线程ID2. Java常用性能排查命令 jmap Jmap是一个可以输出所有内存中对象的工具甚至可以将VM 中的heap以二进制输出成文本。打印出某个java进程使用pid内存内的所有‘对象’的情况如产生那些对象及其数量。 使用方法jmap -histo pid展示class的内存情况 如果使用SHELL ,可采用jmap -histo pid a.log日志将其保存到文件中在一段时间后使用文本对比工具可以对比出GC回收了哪些对象。 使用jmap -dump:live,formatb,fileoutfile pid 可以将pid进程的内存heap输出出来到outfile文件里再配合MAT内存分析工具。 64位服务器或主机上使用需要使用如下方式jmap -J-d64 -heap pid jmap [ option ] pidjmap [ option ] executable corejmap [ option ] [server-id]remote-hostname-or-IP 使用jmap -permstat pid打印进程的类加载器和类加载器加载的持久代对象信息输出类加载器名称、对象是否存活不可靠、对象地址、父类加载器、已加载的类大小等信息; 使用jmap -heap pid查看进程堆内存使用情况包括使用的GC算法、堆配置参数和各代中堆内存使用情况。 jstat 语法 jstat [ generalOption | outputOptions vmid [interval[s|ms] [count]] ] vmid是虚拟机ID在Linux/Unix系统上一般就是进程IDinterval是采样时间间隔count是采样数目 用法 jstat -gc pid #主要查看FGC、YGC的总次数和累计耗时jstat -gcutil pid #功能和gc 一样但是是百分比的形式读取更友好jstat -gccapacity pid #读取各个代区的当前容量、最大容量、当前使用量等信息 示例 例如下面输出的是GC信息采样时间间隔为250ms采样数为4 jstat -gc 21711 250 4