系统监测 1

安装相关的工具包

预先安装 stress 和 sysstat 包,如 apt install stress sysstat

使用uptime命令检查当前机器的负载

root@zhoucheng-virtual-machine:~# uptime
 15:32:24 up 26 min,  2 users,  load average: 0.00, 0.02, 0.06

场景一:CPU 密集型进程

我们在第一个终端运行 stress 命令,模拟一个 CPU 使用率 100% 的场景

stress --cpu 1 --timeout 600

watch -d uptime  观察

在这里插入图片描述
运行 mpstat 查看 CPU 使用率的变化情况

mpstat -P ALL 5

在这里插入图片描述
由上图可以看到,3号cpu的利用率达到了100,但是他的iowait是0,说明平均负载的升高是由于cpu使用率变高导致的,与io关系不大

使用 pidstat 来查询具体是谁导致的cpu升高

间隔 5 秒后输出一组数据
$ pidstat -u 5 1

在这里插入图片描述
我们可以看到stress 进程的使用率为100%

场景二:I/O 密集型进程

stress -i 1 --timeout 600
(如果你用的是ssd,输入上面的命令后不一定会产生很高的iowait,可以使用下面的命令
 stress --hdd 8 --timeout 600   启动 8 个工作线程进行磁盘写操作
)

在这里插入图片描述
输入uptime观察负载
在这里插入图片描述

运行 mpstat 查看 CPU 使用率的变化情况:

在这里插入图片描述
可以看到iowait大幅增高,所以说,如果服务器上运行了io占用率较高的服务,建议使用ssd

场景三:大量进程的场景

当系统中运行进程超出 CPU 运行能力时,就会出现等待 CPU 的进程。
比如,我们还是使用 stress,但这次模拟的是 16 个进程:

stress -c 16 --timeout 600

由于我的虚拟机只有4个cpu,所以目前处于严重过载状态
在这里插入图片描述
接着再运行 pidstat 来看一下进程的情况

在这里插入图片描述
可以看到wait处于很高的值

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值