监控CPU、磁盘、内存、I/O资源命令(mpstat、iostat、pidstat、iotop、top、lsof、tcpdump、nload)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

监控CPU、磁盘、内存、I/O资源命令:mpstat、iostat、pidstat、iotop、top、lsof、tcpdump、nload


提示:以下是本篇文章正文内容,下面案例可供参考

一、本章Linux资源监控命令合集

mpstat、iostat、pidstat、iotop、top 、lsof、tcpdump、nload

(一) mpstat命令——命令主要用于多CPU环境下,它能显示各个CPU状态。这些信息存放在/proc/stat文件中。

1、命令的作用

mpstat是 Multiprocessor Statistics的缩写,是实时系统监控工具。其报告与CPU的一些统计信息,这些信息存放在**/proc/stat**文件中。在多CPU系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息。

应用于:
分析多CPU的平均负载高的原因
计算机秘籍导致平均负载高
IO导致平均负载高
等待CPU调度导致平均负载高
mpstat经常配合pidstat等其他命令一起分析系统性能瓶颈

2、命令格式与用法

命令格式

mpstat [ 选项 ] [ <时间间隔> [ <次数> ] ]
mpstat [-P {cpu|ALL}] [internal [count]]

[ -A ] 等于“-I ALL、-u、-P ALL”
[ -u ] 显示cpu的使用状态
[ -V ] 显示版本信息并且退出
[ -I { SUM | CPU | SCPU | ALL } ] 显示中断信息
SUM,显示每一个cpu的中断总数
CPU,显示每秒收到的中断总数
SCPU,查看软终端的统计信息
ALL,显示所有的中断统计信息
[ -P { <cpu> [,...] | ON | ALL } ] 制定显示CPU的信息,从0开始,0…N-1,显示制定CPU信息
ALL,显示所有的CPU信息

其中参数的含义

-P {cpu l ALL} 表示监控哪个CPU, cpu在[0,cpu个数-1]中取值
internal 相邻的两次采样的间隔时间
count 采样的次数,count只能和delay一起使用

使用实验
直接使用mpstat命令

mpstat

在这里插入图片描述

(1)、当mpstat不带参数时,输出为从系统启动以来的平均值。
mpstat

在这里插入图片描述

(2)、当没有参数时,mpstat则显示系统启动以后所有信息的平均值。有interval时,第一行的信息自系统启动以来的平均信息。从第二行开始,输出为前一个interval时间段(3秒)的平均信息。
mpstat -P ALL 3

在这里插入图片描述

(3)、mpstat -P ALL 3 3
mpstat -P ALL 3 3
ALL:代表统计所有cpu
第一个3:代表采样时间间隔3
第二个3:采用次数3

在这里插入图片描述

输出参数的含义

CPU 处理器ID(从0开始)
%usr 在internal时间段里,用户态的CPU时间(%),不包含 nice值为负进程
%nice 在internal时间段里,nice值为负进程的CPU时间(%)
%sys 在internal时间段里,核心时间(%)
%iowait 在internal时间段里,硬盘IO等待时间(%)
%iowait 在internal时间段里,硬盘IO等待时间(%)
%irq 在internal时间段里,硬中断时间(%)
%soft 在internal时间段里,软中断时间(%)
%steal 显示虚拟机管理器在服务另一个虚拟处理器时虚拟CPU处在非自愿等待下花费时间的百分比
%guest 显示运行虚拟处理器时CPU花费时间的百分比
%gnice CPU运行niced guest虚拟机所花费的时间百分比
%idle CPU的空闲时间的百分比

注意事项

(1)、 mpstat主要用在当系统变慢,平均负载增大时,我们想判断到底是CPU的使用率增大了,还是IO压力增大的情况。
(2)、如果%iowait的值过高,表示硬盘存在I/O瓶颈,%idle值高,表示CPU较空闲,如果%idle值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量。%idle值如果持续低于10,那么系统的CPU处理能力相对较低,表明系统中最需要解决的资源是CPU。

(二)、iostat——监控系统设备的IO负载情况,根据这个可以看出当前系统的写入量和读取量,CPU负载和磁盘负载。

1、命令的作用

iostat主要用于监控系统设备的IO负载情况,根据这个可以看出当前系统的写入量和读取量,CPU负载和磁盘负载。

2、命令格式

#iostat [选项] [<时间间隔>] [<次数>]

选项
-c 只显示cpu相关统计信息(默认是同时显示cpu和磁盘信息)
#-d 只显示磁盘统计信息(默认是同时显示cpu和磁盘信息)
-h 使用NFS的输出报告更加友好可读
-j {
    ID | LABEL | PATH | UUID |} 磁盘列表的Device列要用什么维度来描述磁盘
#-k 默认情况下,iostat的输出是以blo
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值