• JVM垃圾回收日志结构分析


    我们在我们Server的gc log上经常看到下面的这个日志:

    总结一下各个字段表达的是什么意思:  Young GC

    Full GC:

    top -H -P $PID  动态查看java线程的消耗情况

    top -H -b -n 1 -p $PID 打印一次java线程情况

    jstack $PID 打印当前运行的java线程栈信息(建议打印2,3次)

    jstat -gcutil $PID <毫秒数>  动态的观察jvm内存各区情况,主要看下FGC与YGC的使用情况!

    jmap -dump:format=b,file=./heapdump.bin $PID  dump java的堆栈信息,会影响线上的性能

    一次CMS GC问题排查过程(理解原理+读懂GC日志)参见:http://iamzhongyong.iteye.com/blog/1989829

    JVM优化目标:垃圾收集器中吞吐量低延迟(GC回收时间)这两个目标其实是存在相互竞争的矛盾,因为如果选择以吞吐量优先,那么降低内存回收的执行频率则是必然的,但这将会导致GC需要更长的暂停时间来执行内存回收。相反如果是选择以低延迟优先,那么为了降低每次执行内存回收时的暂停时间,只能够频繁地执行内存回收,但这又引起了新生代内存的缩减和导致程序吞吐量的下降。

  • 相关阅读:
    linux 防火墙相关
    .net安装windows服务和生产webservice
    linq小实例
    C# DataTable 总结
    document对象
    结对-四则运算-开发过程
    课后作业-阅读任务-阅读笔记-1
    课后作业-阅读任务-阅读提问-2
    课后作业-阅读任务-阅读提问-3
    团对-象棋游戏-开发环境搭建过程
  • 原文地址:https://www.cnblogs.com/moonandstar08/p/4934548.html
Copyright © 2020-2023  润新知