做网站付多少定金,如何搭建个人博客网站,seo推广外包企业,企业官网首页设计模板目录 一、概述1、简单命令行工具 二、jps#xff1a;查看正在运行的Java程序#xff08;掌握#xff09;1、是什么#xff1f;2、测试3、基本语法 三、jstat#xff1a;查看jvm统计信息#xff08;掌握#xff09;1、是什么#xff1f;2、基本语法3、补充 四、jinfo二、jps查看正在运行的Java程序掌握1、是什么2、测试3、基本语法 三、jstat查看jvm统计信息掌握1、是什么2、基本语法3、补充 四、jinfo实时查看和修改JVM配置参数1、是什么2、基本语法3、拓展 五、jmap:导出内存映像文件 内存使用情况1、是什么2、基本语法3、使用1导出内存映像文件2、显示堆内存相关信息 4、小结 六、jhat 不使用了1、是什么2、基本语法 七、jstack 打印Jvm的线程快照1、是什么2、基本语法 八、jcmd 多功能命令行九、jstatd 远程主机信息收集 一、概述
性能诊断是软件工程师在日程生活中需要经常面对和解决的问题
Java作为最流行的编程语言之一其应用性能诊断一直收到业内广泛关注。造成Java应用出现性能问题的因素非常多例如线程控制磁盘读写数据库访问网络io垃圾收集等。想要定位这些问题一款优秀的性能诊断工具必不可少。
1、简单命令行工具
jdk的bin目录下有一系列的辅助命令行工具这些辅助工具用来获取 Jvm不同方面不同层次的信息帮助开发人员很好的解决Java应用程序的一些疑难杂症。例如 jinfo 、jconsole、javap …
二、jps查看正在运行的Java程序掌握
1、是什么
Java Process Status用于查询正在运行的Java虚拟机进程
2、测试 3、基本语法
1options 如何将信息输出到同级文件中 语法命令 文件名称 例如jps -l a.txt 三、jstat查看jvm统计信息掌握
1、是什么
jstat JVM statistics Monitor tool 用于监视虚拟机各种运行状态信息的命令行工具。它可以显示本地或者远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据
在没有GUI的图形界面只提供了纯文本控制台环境的服务器上它将是运行期间定位虚拟机性能问题的首选工具常用于检测垃圾回收问题以及内存泄漏问题
2、基本语法
基本语法 使用jstat查看语法格式
jstat -option [-t] [-hlines] vmid [interval [count]]其中vmid是进程id号也就是jps之后看到的前面的号码如下
1options参数 -gc 其中S0C代表幸存者0区的总容量 S1C代表幸存者1区的总容量 S0U代表幸存者0区使用的容量 S1U代表幸存者1区使用的容量 EC代表伊甸园区的总容量 EU代表伊甸园区使用的总容量 OC代表老年代的总容量 OU代表老年代已经使用的容量 MC代表方法区的总容量 MU代表方法区的总容量 CCSC代表压缩类的总容量 CCSU代表压缩类使用的容量 YGC代表年轻代垃圾回收的次数 YGCT年轻代进行垃圾回收需要的时间 FGC代表代表Full GC的次数 FGCT代表Full GC的时间 GCT代表垃圾回收的总时间 -gccapacity举例jstat -gccapacity 13152其中13152代表类的进程id执行结果如下 其中S0C代表幸存者0区的容量 S1C代表幸存者1区的容量 EC代表伊甸园区的容量 CCSC代表压缩类的容量 YGC代表年轻代垃圾回收的时间 FGC代表Full GC垃圾回收的时间 gcutil举例jstat -gcutil 13152其中13152代表类的进程id执行结果如下所示 以上是各区域占比以及垃圾回收的情况 S0代表幸存者0区 S1代表幸存者1区 E代表伊甸园区 O代表老年代 M代表方法区 CCS代表压缩类以上这些值都是占比情况 YGC代表年轻代垃圾回收的次数 YGCT年轻代进行垃圾回收需要的时间 FGC代表代表Full GC的次数 FGCT代表Full GC的时间 GCT代表垃圾回收的总时间 2-t 参数 可以在输出信息前加上一个 TimeStamp列显示程序的运行时间。单位秒
【经验】 jstat -gc -t 35812 1000 如果让左边框框中的某两个值相减假设这个值是num1然后让对应右边框框中的另外两个值相减假设这个值是num2之后让num2/num1得出的差值就是上述所说的GC时间占运行时间的比例
3-h 可以在周期性数据输出时输出多少行数据后输出一个表头信息
4interval 参数 用于指定输出统计数据的周期单位为毫秒秒查询间隔
5count 参数 用于指定查询的总次数 3、补充 四、jinfo实时查看和修改JVM配置参数
1、是什么 2、基本语法 查看 jinfo -flags 进程id 查看曾经赋过值的一些参数
jinfo -flag 参数名称 进程id 查看某个java进程的具体参数信息
修改
针对boolean类型jinfo -flag [|-]参数名称 进程id
针对非boolean类型 jinfo -flag 参数名称参数值 进程id
3、拓展
java -XX:PrintFlagsInitial 查看所有JVM参数启动的初始值 java -XX:PrintFlagsFinal 查看所有JVM参数的最终值 五、jmap:导出内存映像文件 内存使用情况
1、是什么 2、基本语法 使用语法可以通过在DOS窗口中使用jmap/jmap -h/jmap -help查看
executable 代表可执行的代码比如使用 文件名称来指定生成的dump文件的生成位置
[server_id]……是为远程连接准备的 3、使用
1导出内存映像文件
手动
jmap -dump:formatb,filexxx.hprof pidjmap -dump:live,formatb,filexxx.hprof pid 【基本使用这个】 自动
-XX:HeapDumpOnOutOfMemoryError
-XX:HeapDumpPathxxx.hprof2、显示堆内存相关信息
jmap -heap 进程id
jmap -histo 进程id 4、小结 六、jhat 不使用了
1、是什么 2、基本语法 七、jstack 打印Jvm的线程快照
1、是什么 2、基本语法 参数option 八、jcmd 多功能命令行 九、jstatd 远程主机信息收集 demo https://blog.csdn.net/huanqingdong/article/details/104095402/