Linux 下的 60 秒分析的检查清单

    最近逛论坛找到文章一篇“Linux 下的 60 秒分析的检查清单”,这个清单适用于任何性能问题的分析工作。笔者按照这个清单操作一番,感觉颇有意义,在此分享出来!

1、uptime平均负载

    这条命令可以快速设备运行时间、检查平均负载。特别是 load average,分别是1 分钟 /5 分钟 /15 分钟的平均负载,负载平均值在排障过程中应该首先进行检查,以确认性能问题是否还存在。

18:40:34 up 1 day, 20:20, 2 users, load average: 0.00, 0.00, 0.00

2、 dmesg | tail  系统日志

    这个命令可以显示过去 10 条系统日志,寻找可能导致性能问题的错误。dmesg命令设备故障的诊断是非常重要的。可以使用如moretailless 或者grep文字处理工具来处理dmesg命令的输出。由于dmesg日志的输出不适合在一页中完全显示,因此我们使用管道(pipe)将其输出送到more、less命令单页显示或者实时显示。

dmesg | grep sda  显示所有被内核检测到的硬盘设备;

dmesg | head  -20  只输出dmesg命令的前20行日志;

dmesg | tail -20 只输出dmesg命令最后20行日志;

 dmesg | grep -i usb 搜索包含特定字符串的被检测到的硬件;

 dmesg -c  清空dmesg的日志。

tail -f /var/log/dmesg 或者watch "dmesg | tail -20" 来实时监控dmesg的日志输出。使用man dmesg来获取更多关于dmesg的信息。

3、vmstat 1虚拟内存统计

    Virtual Meomory Statistics 虚拟内存统计,执行时带着命令行参数 1 时,会隔 1 秒打印一次摘要信息。注意第 1 行输出的数字是自系统启动后的统计值(内存相关的计数器除外)。

    这里有个概念叫虚拟内存。物理内存是系统硬件提供的内存大小,是真正的内存,相对于物理内存,在linux下还有一个虚拟内存的概念,虚拟内存就是为了满足物理内存的不足而提出的策略,它是利用磁盘空间虚拟出的一块逻辑内存,用作虚拟内存的磁盘空间被称为交换空间(Swap Space)。 作为物理内存的扩展,linux会在物理内存不足时,使用交换分区的虚拟内存,更详细的说,就是内核会将暂时不用的内存块信息写到交换空间,这样以来,物理内存得到了释放,这块内存就可以用于其它目的,当需要用到原始的内容时,这些信息会被重新从交换空间读入物理内存。

字段说明:

Procs(进程):

  r: 运行队列中进程数量;

  b: 等待IO的进程数量;

Memory(内存),单位是KB。

  swpd: 使用虚拟内存大小;

  free: 可用内存大小;

  buff: 用作缓冲的内存大小;

  cache: 用作缓存的内存大小;

Swap:

如果这些值不是零,那么意味着系统内存紧张。这个值只有在配置开启了交换分区后才会起作用。

  si: 每秒从交换区写到内存的大小;

  so: 每秒写入交换区的内存大小;

IO:

现在的Linux版本块的大小为1024bytes。

  bi: 每秒读取的块数;

  bo: 每秒写入的块数;

系统:

in: 每秒中断数,包括时钟中断。【interrupt】

cs: 每秒上下文切换数。        【count/second】

CPU(以百分比表示):

  us: 用户进程执行时间(user time)

  sy: 系统进程执行时间(system time)

  id: 空闲时间(包括IO等待时间),中央处理器的空闲时间 。以百分比表示。

  wa: 等待IO时间

  st:被窃取时间 stolen time。

4、  free -m可用内存

    显示了用兆字节(MB)作为单位的可用内存。

5、 top实时显示 process 的动态

6、sysstat - system performance tools for Linux

        这是一款查看系统状态的工具,详情可以查看笔者以前的文章-sysstat性能监控工具


    iostat:报告设备,分区和网络文件系统的CPU统计信息和输入/输出统计信息。

    mpstat:报告单个或组合的处理器相关统计信息。

推荐阅读更多精彩内容