JVM学习(四)JVM调优
2024-08-28 02:56:20
一、调优命令
Sun JDK监控和故障处理命令有jps、jstat、jmap、jhat、jstack、jinfo
- jps,JVM Process Status Tool,显示指定系统内所有的HotSpot虚拟机进程。
- jstat,JVM statistics Monitoring是用于监视虚拟机运行时状态信息的命令,它可以显示出虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据。
- jmap,JVM Memory Map命令用于生成heap dump文件
- jhat,JVM Heap Analysis Tool命令是与jmap搭配使用,用来分析jmap生成的dump,jhat内置了一个微型的HTTP/HTML服务器,生成dump的分析结果后,可以在浏览器中查看
- jstack,用于生成java虚拟机当前时刻的线程快照。
- jinfo,JVM Configuration info 这个命令作用是实时查看和调整虚拟机运行参数。
二、调优工具
常用调优工具分为两类,jdk自带监控工具:jconsole和jvisualvm,第三方有:MAT(Memory Analyzer Tool)、GChisto。
- jconsole,Java Monitoring and Management Console是从java5开始,在JDK中自带的java监控和管理控制台,用于对JVM中内存,线程和类等的监控
- jvisualvm,jdk自带全能工具,可以分析内存快照、线程快照;监控内存变化、GC变化等。
- MAT,Memory Analyzer Tool,一个基于Eclipse的内存分析工具,是一个快速、功能丰富的Java heap分析工具,它可以帮助我们查找内存泄漏和减少内存消耗
- GChisto,一款专业分析gc日志的工具
三、Minor GC与Full GC分别在什么时候发生?
新生代内存不够用时候发生MGC也叫YGC,JVM内存不够的时候发生FGC
四、你知道哪些JVM性能调优
设定堆内存大小
-Xmx:堆内存最大限制。
设定新生代大小
新生代不宜太小,否则会有大量对象涌入老年代
- -XX:NewSize:新生代大小
- -XX:NewRatio:新生代和老生代占比
- -XX:SurvivorRatio:伊甸园空间和幸存者空间的占比
设定垃圾回收器
- 年轻代用 -XX:+UseParNewGC
- 年老代用 -XX:+UseConcMarkSweepGC
最新文章
- 为CentOS7(文字界面操作)系统安装gnome图形界面程序
- https
- linux注销、关机、重启
- java计算当前周开始日期&;结束日期
- XAF应用开发教程(一) 创建项目
- Lua 常用的shell命令
- 在线预览文件(pdf)
- RAC集群数据库连库代码示例(jdbc thin方式,非oci)
- javascript 禁用 右键 按键 禁用开发者工具
- MySQL备份及数据恢复
- [python]关于在python中模块导入问题追加总结
- PHP中namespace和use使用详解
- UVA-10127 Ones (数论)
- Cryptography Reloaded UVALive - 4353(BigInteger)
- CentOS下编译安装python包管理安装工具pip教程
- Linux下MySQL数据库的备份与还原
- CSS 笔记——导航栏、下拉菜单、提示工具
- JavaScript 面向对象的程序设计(一)之理解对象属性
- MVC学习八:MVC View提交数据
- Maven命名规范收集