Linux性能检测常用的10个基本命令

1. uptime

在这里插入图片描述

该命令可以大致的看出计算机的整体负载情况,load average后的数字分别表示计算机在1min、5min、15min内的平均负载。

2. dmesg | tail

在这里插入图片描述

打印内核环形缓存区中的内容,可以用来查看一些错误;

上面的例子中,显示进程18694 因内存越界被kill掉以及TCP request被丢弃的错误。通过dmesg可以快速判断是否有导致系统性能异常的问题。

3. vmstat 1

在这里插入图片描述

打印进程、内存、交换分区、IO和CPU等的统计信息;

vmstat的格式如下:

vmstat [options] [delay [count]]

vmstat第一次输出表示从开机到vmstat运行时的平均值;剩余输出的都是在指定的时间间隔内的平均值,上述例子中delay的值设置为1,除第一次以外,剩余的都是1秒统计一次,count未设置,将会一直循环打印。

在这里插入图片描述
上述的例子中delay设置为10,count设置为3,表示每行打印10秒内的平均值,只打印3次。

需要检查的列:

  1. r:表示正在运行或者等待CPU调度的进程数。因为该列数据不包含I/O的统计信息,因此可以用来检测CPU是否饱和。若r列中的数字大于CPU的核数,表示CPU已经处于饱和状态。
  2. free:当前剩余的内存;
  3. si, so:交换分区换入和换出的个数,若换入换出个数大于0,表示内存不足;
  4. us, sy, id, wa:CPU的统计信息,分别表示user time、system time(kernel)、idle、wait I/O。I/O处理所用的时间包含在system time中,因此若system time超过20%,则I/O可能存在瓶颈或异常;

4. mpstat -P ALL 1

在这里插入图片描述

该命令用于每秒打印一次每个CPU的统计信息,可用于查看CPU的调度是否均匀。

5. pidstat 1

在这里插入图片描述

该命令用于打印各个进程对CPU的占用情况,类似 top命令中显示的内容。pidstat的优势在于,可以滚动的打印进程运行情况,而不像 top那样会清屏。

上述例子中,%CPU中两个java进程的cpu利用率分别达到了1590%和1573%,表示java进程占用了16颗CPU。

6. iostat -xz 1

在这里插入图片描述

类似vmstat,第一次输出的是从系统开机到统计这段时间的采样数据;

检查列:

  1. r/s, w/s, rkB/s, wkB/s,表示每秒向I/O设备发出的reads、writes、read Kbytes、write Kbytes的数量。
  2. await,表示应用程序排队等待和被服务的平均I/O时间,该值若大于预期的时间,这表示I/O设备处于饱和状态或者异常。
  3. avgqu-sz,表示请求被发送给I/O设备的平均时间,若该值大于1,则表示I/O设备可能已经饱和;
  4. %util,每秒设备的利用率;若该利用率超过60%,则表示设备出现性能异常;

7. free -m

在这里插入图片描述

检查的列:

  1. buffers:For the buffer cache, used for block device I/O.
  2. cached:For the page cache, used by file systems.

若buffers和cached接近0,说明I/O的使用率过高,系统存在性能问题。
Linux中会用 free内存作为cache,若应用程序需要分配内存,系统能够快速的将cache占用的内存回收,因此 free的内存包含cache占用的部分。

8. sar -n DEV 1

sar是System Activity Reporter的缩写,系统活动状态报告。

  1. -n { keyword [,…] | ALL },用于报告网络统计数据。keyword可以是以下的一个或者多个: DEV, EDEV, NFS, NFSD, SOCK, IP, EIP, ICMP, EICMP, TCP, ETCP, UDP, SOCK6,
    IP6, EIP6, ICMP6, EICMP6 和UDP6。

  2. -n DEV 1, 每秒统计一次网络的使用情况;

  3. -n EDEV 1,每秒统计一次错误的网络信息;

在这里插入图片描述

IFACE ,网络接口名称;
rxpck/s ,每秒接收到包数;
txpck/s ,每秒传输的报数;(transmit packages)
rxkB/s ,每秒接收的千字节数;
txkB/s ,每秒发送的千字节数;
rxcmp/s ,每秒接收的压缩包的数量;
txcmp/s ,每秒发送的压缩包的数量;
rxmcst/s,每秒接收的组数据包数量;

9. sar -n TCP,ETCP 1

该命令可以用于粗略的判断网络的吞吐量,如发起的网络连接数量和接收的网络连接数量;

TCP, 报告关于TCPv4网络流量的统计信息;

ETCP, 报告有关TCPv4网络错误的统计信息;

在这里插入图片描述

检测的列:

  1. active/s: Number of locally-initiated TCP connections per second (e.g., via connect()),发起的网络连接数量;
  2. passive/s: Number of remotely-initiated TCP connections per second (e.g., via accept()),接收的网络连接数量;
  3. retrans/s: Number of TCP retransmits per second,重传的数量;

10. top

top命令包含更多的指标统计,相当于一个综合命令。
在这里插入图片描述

11. 总结

以上展示了各个命令的主要作用,如使用vmstat查看系统的整体性能,mpstat用于查看cpu的性能,pidstat用于查看进程的状态,iostat用于查看io的状态,free用于查看内存的状态,sar用于查看网络的状态等。

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhaoshuangjian

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值