云计算百科
云计算领域专业知识百科平台

linux服务器响应变慢,如何快速定位瓶颈方向?

设计一个三步快速检查法,在60秒内判断瓶颈大致是CPU、内存、IO还是网络。

# 1. CPU瓶颈检查 (前5行)
top -bn1 | head -5
# 关键指标:%Cpu(s)行,us(用户态)高表示应用计算密集,sy(系统态)高表示内核调用频繁
# 决策:如果us+sy持续>80%,可能是CPU瓶颈

# 2. 内存瓶颈检查
free -h
# 关键指标:available字段(真正可用内存),swap used(交换使用量)
# 决策:如果available很少且swap used持续增长,可能是内存瓶颈

# 3. IO瓶颈检查
iostat -dx 1 3 | tail -10
# 关键指标:%util(利用率),await(响应时间)
# 决策:如果%util持续>80%且await很高,可能是IO瓶颈

# 内存问题区分:
# – 应用内存泄漏:观察进程RES持续增长且不释放(用`top`然后按M按内存排序)
# – 系统缓存占用:free显示cached/buffers很大,但available充足
# 使用`ps aux –sort=-%mem`或`smem`查看具体进程内存使用

一、CPU检查命令

top 命令是 Linux 系统最常用的实时性能监控工具,可以动态查看系统的整体运行情况。

第一行:系统的概述    第二行:进程相关的统计        第三行:cpu的状态(us+sy)>70可能瓶颈
第四、五行:内存状态信息

二、内存的检查命令详解

free命令是查询内存详细信息,查询内存的具体情况

  • 不要只看 free 值:Linux会充分利用内存作为缓存
  • 关注 available 值:这才是真正可用的内存
  • 三、磁盘的检查命令详解

    1、df 显示磁盘空间使用情况

    2、iostat 用于监控系统CPU和磁盘I/O性能

    四、网络检查命令详解

    1、 ss 命令详解

    2、netstat 在之前老版本的linux可能使用,这里不截图了,netstat比较慢

    五、进程检查命令详解

    ps命令查询进程

    1、ps  aux 显示所有进程的完整信息

    2、ps  aux –sort=-%cpu  | head -10 按照cpu使用率来排序

    3、ps  aux –sort=-%men | head -10 按照内存使用率来排序

    4、ps -ef | grep nginx 查询指定的进程

    注意点:aux 可以显示cou使用率、内存使用率、虚拟和物理内存大小、进程状态,但-ef不可以

    六、关键指标阈值参考

    指标正常范围警告阈值严重阈值检查命令
    CPU使用率 < 70% 70-85% > 85% top, vmstat
    内存使用率 < 80% 80-90% > 90% free -h
    磁盘使用率 < 80% 80-90% > 90% df -h
    磁盘I/O等待 < 5% 5-20% > 20% iostat -x
    系统负载 < CPU核心数 CPU核心数×2 CPU核心数×4 uptime
    TCP连接数 > 10000 > 50000 ss -t
    僵尸进程 0 > 0 > 5 ps aux | grep Z
    交换分区使用 0 > 0 > 50% free -h

    通过以上详细的命令解释,你应该能够:

  • 理解每个监控命令的输出含义

  • 识别系统瓶颈的关键指标

  • 快速判断系统是否正常

  • 准确定位性能问题的根源

  • 建议定期运行这些命令,了解系统的正常基线,这样当问题发生时,可以快速识别异常。

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » linux服务器响应变慢,如何快速定位瓶颈方向?
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!