• 江南白衣Calvin
    2018-08-10
    找繁忙线程时,top -h , 再jstack, 再换算tid比较累,而且jstack会造成停顿。推荐用vjtools里的vjtop, 不断显示繁忙的javaj线程,不造成停顿。

    作者回复: 白衣出品必是精品

     2
     99
  • Yano
    2018-07-21
    一直以来看老师的专栏没有留言过,今天特意来留言。我看了13讲(当时只出到13讲)面试就轻松通过了~老师每一篇文章,都让我非常收益,赞一个~!

    作者回复: 恭喜,很高兴能体现出价值

     1
     18
  • 杨东yy
    2018-07-24
    确实不错,还有个命令,sar,主要看iowait的值,如果它比较高,也说明磁盘io写入慢,当时我们的系统是虚拟机,和别的业务共用物理机,所以当别人并发大,也影响了我们,我们有切面写日志,系统日志写的比较多,就出现整个服务慢了,后来减少不必要的日志,找运维换机器

    作者回复: 很实用

    
     17
  • 盼盼
    2018-07-24
    profiling收集程序运行时信息的方式主要有以下三种:
    事件方法:对于 Java,可以采用 JVMTI(JVM Tools Interface)API 来捕捉诸如方法调用、类载入、类卸载、进入 / 离开线程等事件,然后基于这些事件进行程序行为的分析。
    统计抽样方法(sampling): 该方法每隔一段时间调用系统中断,然后收集当前的调用栈(call stack)信息,记录调用栈中出现的函数及这些函数的调用结构,基于这些信息得到函数的调用关系图及每个函数的 CPU 使用信息。由于调用栈的信息是每隔一段时间来获取的,因此不是非常精确的,但由于该方法对目标程序的干涉比较少,目标程序的运行速度几乎不受影响。
    植入附加指令方法(BCI): 该方法在目标程序中插入指令代码,这些指令代码将记录 profiling 所需的信息,包括运行时间、计数器的值等,从而给出一个较为精确的内存使用情况、函数调用关系及函数的 CPU 使用信息。该方法对程序执行速度会有一定的影响,因此给出的程序执行时间有可能不准确。但是该方法在统计程序的运行轨迹方面有一定的优势。
    展开

    作者回复: 不错的总结

    
     9
  • clz1341521
    2018-08-11
    dstat这个命令也很有用

    作者回复: 谢谢,以前没有过,刚才查了一下,“dstat命令是一个用来替换vmstat、iostat、netstat、nfsstat和ifstat这些命令的工具,是一个全能系统信息统计工具” 回头试一下

    
     5
  • Seven4X
    2018-07-21
    百度搜索 profiling是什么
    
     5
  • 鲸息
    2019-04-20
    阿里的 arthas 不错。淘宝也有一个 profiler。
    
     2
  • 大神仙
    2018-08-27
    老师,minor gc变长的通常情况有哪些,除了young配置小以外,和系统io有关系么
    
     2
  • ub8
    2020-01-04
    Full GC ,Minor GC 频率是多少算是频繁呢?
    
     1
  • james.h.fu
    2018-12-13
    老师,我感觉很需要高质量的面向对象分析和设计。看代码的时候,总感觉有些地方OO写不好。
    
     1
  • 有福
    2018-08-17
    喜欢用火焰图来辅助定位

    作者回复: 确实是利器

    
     1
  • One day
    2018-07-21
    之前看到目录上还有讲spring和数据库等等,后面还会讲吧!

    作者回复: 有,仅仅能做个抛砖引玉,范围太大专栏就不伦不类了

    
     1
我们在线,来聊聊吧