输出shell脚本,取iostat结果, nvme0n1 nvme1n1 nvme2n1 nvme4n1盘的第5、6列数据
时间: 2023-11-07 08:01:54 浏览: 31
您可以使用以下shell脚本来获取iostat结果中nvme0n1、nvme1n1、nvme2n1和nvme4n1盘的第5、6列数据:
```shell
iostat | awk 'NR>2 && /^[a-z]/ {print $1,$5,$6}' | grep -E 'nvme0n1|nvme1n1|nvme2n1|nvme4n1'
```
这个脚本首先使用`iostat`命令获取磁盘性能数据,然后使用`awk`命令筛选出第5和第6列数据,并最后使用`grep`命令过滤出指定的nvme磁盘。
相关问题
iostat -x 1结果详解
当您在终端中运行命令 iostat -x 1 时,将会列出如下信息:
```
Linux 4.15.0-54-generic (ubuntu) 08/17/2019 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
1.91 0.00 0.77 0.22 0.00 97.10
Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.00 23.63 0.07 5.30 0.00 0.13 48.70 0.01 1.41 2.03 1.38 0.20 0.11
sdb 0.00 0.00 0.00 0.00 0.00 0.00 118.00 0.00 0.00 0.00 0.00 0.00 0.00
```
以下是各列的解释:
- `avg-cpu`:CPU使用率统计信息。
- `%user`:用户CPU时间占用百分比。
- `%nice`:nice值为负的进程占用CPU时间百分比。
- `%system`:内核占用CPU时间百分比。
- `%iowait`:等待I/O完成占用CPU时间百分比。
- `%steal`:虚拟机管理程序(如Xen)偷走的CPU时间百分比。
- `%idle`:CPU空闲时间占用百分比。
- `Device`:磁盘信息。
- `rrqm/s`:每秒钟发出的合并的读请求。
- `wrqm/s`:每秒钟发出的合并的写请求。
- `r/s`:每秒钟发出的读请求。
- `w/s`:每秒钟发出的写请求。
- `rMB/s`:每秒钟读取的数据量(MB)。
- `wMB/s`:每秒钟写入的数据量(MB)。
- `avgrq-sz`:平均请求大小(扇区)。
- `avgqu-sz`:平均请求队列长度。
- `await`:平均I/O等待时间(毫秒)。
- `r_await`:平均读取等待时间(毫秒)。
- `w_await`:平均写入等待时间(毫秒)。
- `svctm`:平均I/O服务时间(毫秒)。
- `%util`:设备利用率百分比。
通过这些信息,您可以了解服务器的磁盘活动、磁盘IO、CPU利用率等方面的详细信息,从而帮助您分析服务器的性能瓶颈。
shell脚本实现内存、CPU、io流等监控,并输出
以下是一个简单的shell脚本,可以实现对内存、CPU、io流的监控,并输出到文件中:
```
#!/bin/bash
# 获取当前时间
date=`date +%Y-%m-%d_%H:%M:%S`
# 获取CPU信息
cpu=`top -b -n1 | grep "Cpu(s)" | awk '{print $2+$4}'`
# 获取内存信息
mem=`free | grep Mem | awk '{print $3/$2 * 100.0}'`
# 获取磁盘io流信息
io=`iostat -d -x 1 1 | grep sda | awk '{print $14}'`
# 输出到文件中
echo "${date} CPU:${cpu}% Mem:${mem}% IO:${io}" >> /tmp/monitor.log
```
该脚本使用top命令获取CPU信息,free命令获取内存信息,iostat命令获取磁盘io流信息。将获取到的信息输出到/tmp/monitor.log文件中。可以通过设置定时任务,定期执行该脚本,实现长期的监控。