Linux系统性能瓶颈的排查思路

  • 有监控的情况下,首先看监控,是否有异常指标或报警
  • 没有监控的情况下按照以下步骤看看系统层面有没有异常
    1. 首先看系统的平均负载,使用top或htop命令查看,平均负载体现的是系统的一个整体情况。它应该是cpu,内存,磁盘性能的一个综合体现。一般是平均负载的值大于机器cpu的核数,这时候说明机器资源已经紧张了。
    2. 平均负载比较高的话,接下来首先看看具体是什么资源导致的。比如使用top看下cpu每个核的使用情况,如果占比很高,那瓶颈应该是cpu,接下来就是要看看是什么进程导致的。
    3. 如果cpu没有问题,那么接下来去看看内存,首先是用free去查看内存的使用情况,但不直接看剩余了多少。还要结合看看cache和buffer,然后再看看具体是什么进程占用了过高的内存。这个也可以用top排序。
    4. 内存没有问题的话就要去看磁盘了。磁盘可以用iostat去查看。
    5. 还有就是带宽的问题,一般会用iftop去查看流量情况,看看流量是否超过了机器给定的带宽。
    6. 涉及到具体应用的话,就要根据具体应用的设定参数来查看,比如连接数是否超过设定值等。
    7. 如果系统层各个指标查下来都没有发现异常,就应该考虑下外部系统了,比如数据库,缓存,存储等。
posted @ 2020-06-16 15:54  暮晨  阅读(522)  评论(0编辑  收藏  举报

Aaron Swartz was and will always be a hero