一篇关于Java线上故障解决方案(二)

开课吧开课吧锤锤2021-04-08 09:37

点赞
有用
分享分享

    Java编程语言是一种简单、面向对象、分布式、解释型、健壮安全、与系统无关、可移植、高性能、多线程和动态的语言。如今Java已经广泛应用于各个领域的编程开发。

Java

    CPU分析

    CPU使⽤率是衡量系统繁忙程度的重要指标。但是CPU使⽤率的安全阈值是相对的,取决于你的系统的IO密集型还是计算密集型。⼀般计算密集型应⽤CPU使⽤率偏⾼load偏低,IO密集型相反。

[root@ ~]# top

    top命令是Linux下常⽤的CPU性能分析⼯具,能够实时显示系统中各个进程的资源占⽤状况,常⽤于服务端性能分析。

Java

    top命令显示了各个进程CPU使⽤情况,⼀般CPU使⽤率从⾼到低排序展示输出。其中LoadAverage显示最近1分钟、5分钟和15分钟的系统平均负载,上图各值为3.4、3.31、3.46。

    我们⼀般会关注CPU使⽤率最⾼的进程,正常情况下就是我们的应⽤主进程。第七⾏以下:各进

    程的状态监控,参数说明:

    PID:进程id

    USER:进程所有者的⽤户名

    PR:进程优先级

    NI:nice值。负值表示⾼优先级,正值表示低优先级

    VIRT:进程使⽤的虚拟内存总量,单位kb

    SHR:共享内存⼤⼩

    %CPU:上次更新到现在的CPU时间占⽤百分⽐

    %MEM:进程使⽤的物理内存百分⽐

    TIME+:进程使⽤的CPU时间总计,单位1/100秒

    COMMAND:命令名称、命令⾏

    内存

[root@ ~]# free -h

    内存是排查线上问题的重要参考依据,free是显示的当前内存的使⽤,-h表示⼈类可读性。

Java

    参数说明:

    total:内存总数

    used:已经使⽤的内存数

    free:空闲的内存数

    shared:被共享使⽤的物理内存⼤⼩

    buffers/buffer:被buffer和cache使⽤的物理内存⼤⼩

    available:还可以被应⽤程序使⽤的物理内存⼤⼩

    以上内容由开课吧老师ゞ浪人与酒丶提供,更多Java教程尽在开课吧广场Java教程频道。

有用
分享