一、调优命令

  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

最新文章

  1. 为CentOS7(文字界面操作)系统安装gnome图形界面程序
  2. https
  3. linux注销、关机、重启
  4. java计算当前周开始日期&结束日期
  5. XAF应用开发教程(一) 创建项目
  6. Lua 常用的shell命令
  7. 在线预览文件(pdf)
  8. RAC集群数据库连库代码示例(jdbc thin方式,非oci)
  9. javascript 禁用 右键 按键 禁用开发者工具
  10. MySQL备份及数据恢复
  11. [python]关于在python中模块导入问题追加总结
  12. PHP中namespace和use使用详解
  13. UVA-10127 Ones (数论)
  14. Cryptography Reloaded UVALive - 4353(BigInteger)
  15. CentOS下编译安装python包管理安装工具pip教程
  16. Linux下MySQL数据库的备份与还原
  17. CSS 笔记——导航栏、下拉菜单、提示工具
  18. JavaScript 面向对象的程序设计(一)之理解对象属性
  19. MVC学习八:MVC View提交数据
  20. Maven命名规范收集

热门文章

  1. sqlalchemy怎么order_by降序/升序并取第一条数据
  2. anaconda3 安装pip3
  3. Mac上Safari不能关键字搜索
  4. Spring Security 入门学习--数据库认证和授权
  5. Qt 子窗口监听主窗口信号
  6. 我用 Java 8 写了一段逻辑,同事直呼看不懂,你试试看。。
  7. googleEarth
  8. POJ - 3037-Skiing(邻接表+Dijkstra)
  9. [BUUOJ记录] [BJDCTF2020]EasySearch
  10. php中的加密解密模块-mcrypt