185 lines
6.1 KiB
Markdown
185 lines
6.1 KiB
Markdown
|
||
|
||
# Linux监控指标
|
||
|
||
## 一、CPU类
|
||
|
||
### 1、CPU idle
|
||
|
||
Linux CPU idle 是指 CPU 空闲的时间百分比,也就是 CPU 没有在执行任何任务的时间占总时间的比例。在 Linux 系统中,可以通过查看 /proc/stat 文件来获取 CPU idle 的信息。
|
||
|
||
可以使用以下命令来查看 CPU idle 的信息:
|
||
|
||
```
|
||
cat /proc/stat | grep 'cpu'
|
||
```
|
||
|
||
该命令会输出类似以下的信息:
|
||
|
||
```
|
||
cpu 123456 7890 123456 7890123 4567 0 0 0 0 0
|
||
```
|
||
|
||
其中,第 5 个字段就是 CPU idle 的时间,单位是 jiffies(Linux 内核中的一个时间单位,通常为 1/100 秒)。可以将该值除以 CPU 的时钟频率,再乘以 100,就可以得到 CPU idle 的百分比。
|
||
|
||
例如,如果 CPU 的时钟频率是 2.4 GHz,那么可以使用以下命令来计算 CPU idle 的百分比:
|
||
|
||
```
|
||
echo "scale=2; $(cat /proc/stat | grep 'cpu ' | awk '{print $5}') / 2400000000 * 100" | bc
|
||
```
|
||
|
||
该命令会输出 CPU idle 的百分比,例如:
|
||
|
||
```
|
||
98.23
|
||
```
|
||
|
||
### 2、CPU busy user
|
||
|
||
Linux CPU busy user 是指 CPU 在执行用户进程的时间百分比,也就是 CPU 在执行用户进程的时间占总时间的比例。在 Linux 系统中,可以通过查看 /proc/stat 文件来获取 CPU busy user 的信息。
|
||
|
||
具体来说,可以使用以下命令来查看 CPU busy user 的信息:
|
||
|
||
```
|
||
cat /proc/stat | grep 'cpu '
|
||
```
|
||
|
||
该命令会输出类似以下的信息:
|
||
|
||
```
|
||
cpu 123456 7890 123456 7890123 4567 0 0 0 0 0
|
||
```
|
||
|
||
其中,第 2 个字段就是 CPU 在执行用户进程的时间,单位是 jiffies(Linux 内核中的一个时间单位,通常为 1/100 秒)。可以将该值除以 CPU 的时钟频率,再乘以 100,就可以得到 CPU busy user 的百分比。
|
||
|
||
例如,如果 CPU 的时钟频率是 2.4 GHz,那么可以使用以下命令来计算 CPU busy user 的百分比:
|
||
|
||
```
|
||
echo "scale=2; $(cat /proc/stat | grep 'cpu ' | awk '{print $2}') / 2400000000 * 100" | bc
|
||
```
|
||
|
||
该命令会输出 CPU busy user 的百分比,例如:
|
||
|
||
```
|
||
12.34
|
||
```
|
||
|
||
### 3、CPU busy system
|
||
|
||
Linux CPU busy system 是指 CPU 在执行内核进程的时间百分比,也就是 CPU 在执行内核进程的时间占总时间的比例。在 Linux 系统中,可以通过查看 /proc/stat 文件来获取 CPU busy system 的信息。
|
||
|
||
具体来说,可以使用以下命令来查看 CPU busy system 的信息:
|
||
|
||
```
|
||
cat /proc/stat | grep 'cpu '
|
||
```
|
||
|
||
该命令会输出类似以下的信息:
|
||
|
||
```
|
||
cpu 123456 7890 123456 7890123 4567 0 0 0 0 0
|
||
```
|
||
|
||
其中,第 4 个字段就是 CPU 在执行内核进程的时间,单位是 jiffies(Linux 内核中的一个时间单位,通常为 1/100 秒)。可以将该值除以 CPU 的时钟频率,再乘以 100,就可以得到 CPU busy system 的百分比。
|
||
|
||
例如,如果 CPU 的时钟频率是 2.4 GHz,那么可以使用以下命令来计算 CPU busy system 的百分比:
|
||
|
||
```
|
||
echo "scale=2; $(cat /proc/stat | grep 'cpu ' | awk '{print $4}') / 2400000000 * 100" | bc
|
||
```
|
||
|
||
该命令会输出 CPU busy system 的百分比,例如:
|
||
|
||
```
|
||
5.67
|
||
```
|
||
|
||
### 4、CPU iowait
|
||
|
||
Linux CPU iowait 是指 CPU 等待 I/O 操作完成的时间百分比,也就是 CPU 在等待 I/O 操作完成的时间占总时间的比例。在 Linux 系统中,可以通过查看 /proc/stat 文件来获取 CPU iowait 的信息。
|
||
|
||
具体来说,可以使用以下命令来查看 CPU iowait 的信息:
|
||
|
||
```
|
||
cat /proc/stat | grep 'cpu '
|
||
```
|
||
|
||
该命令会输出类似以下的信息:
|
||
|
||
```
|
||
cpu 123456 7890 123456 7890123 4567 0 0 0 0 0
|
||
```
|
||
|
||
其中,第 5 个字段就是 CPU 等待 I/O 操作完成的时间,单位是 jiffies(Linux 内核中的一个时间单位,通常为 1/100 秒)。可以将该值除以 CPU 的时钟频率,再乘以 100,就可以得到 CPU iowait 的百分比。
|
||
|
||
例如,如果 CPU 的时钟频率是 2.4 GHz,那么可以使用以下命令来计算 CPU iowait 的百分比:
|
||
|
||
```
|
||
复制echo "scale=2; $(cat /proc/stat | grep 'cpu ' | awk '{print $5}') / 2400000000 * 100" | bc
|
||
```
|
||
|
||
该命令会输出 CPU iowait 的百分比,例如:
|
||
|
||
```
|
||
2.34
|
||
```
|
||
|
||
### 5、CPU IRQs
|
||
|
||
Linux CPU IRQs 是指 CPU 在处理硬件中断的时间百分比,也就是 CPU 在处理硬件中断的时间占总时间的比例。在 Linux 系统中,可以通过查看 /proc/stat 文件来获取 CPU IRQs 的信息。
|
||
|
||
具体来说,可以使用以下命令来查看 CPU IRQs 的信息:
|
||
|
||
```
|
||
cat /proc/stat | grep 'cpu '
|
||
```
|
||
|
||
该命令会输出类似以下的信息:
|
||
|
||
```
|
||
cpu 123456 7890 123456 7890123 4567 0 0 0 0 0
|
||
```
|
||
|
||
其中,第 6 个字段就是 CPU 在处理硬件中断的时间,单位是 jiffies(Linux 内核中的一个时间单位,通常为 1/100 秒)。可以将该值除以 CPU 的时钟频率,再乘以 100,就可以得到 CPU IRQs 的百分比。
|
||
|
||
例如,如果 CPU 的时钟频率是 2.4 GHz,那么可以使用以下命令来计算 CPU IRQs 的百分比:
|
||
|
||
```
|
||
echo "scale=2; $(cat /proc/stat | grep 'cpu ' | awk '{print $6}') / 2400000000 * 100" | bc
|
||
```
|
||
|
||
该命令会输出 CPU IRQs 的百分比,例如:
|
||
|
||
```
|
||
0.56
|
||
```
|
||
|
||
### 6、CPU softirq
|
||
|
||
Linux CPU 软中断(softirq)对应的参数是 CPU 的第 7 个字段。软中断是一种由内核发起的中断,用于处理一些与网络、磁盘、定时器等相关的事件。在 Linux 系统中,软中断是由软件实现的,因此相对于硬中断来说,软中断的开销更小,但是也会占用 CPU 的一定时间。
|
||
|
||
具体来说,可以使用以下命令来查看 CPU 软中断的信息:
|
||
|
||
```
|
||
复制cat /proc/stat | grep 'cpu '
|
||
```
|
||
|
||
该命令会输出类似以下的信息:
|
||
|
||
```
|
||
复制cpu 123456 7890 123456 7890123 4567 0 89012 0 0 0
|
||
```
|
||
|
||
其中,第 7 个字段就是 CPU 在处理软中断的时间,单位是 jiffies(Linux 内核中的一个时间单位,通常为 1/100 秒)。可以将该值除以 CPU 的时钟频率,再乘以 100,就可以得到 CPU 软中断的百分比。
|
||
|
||
例如,如果 CPU 的时钟频率是 2.4 GHz,那么可以使用以下命令来计算 CPU 软中断的百分比:
|
||
|
||
```
|
||
复制echo "scale=2; $(cat /proc/stat | grep 'cpu ' | awk '{print $7}') / 2400000000 * 100" | bc
|
||
```
|
||
|
||
该命令会输出 CPU 软中断的百分比,例如:
|
||
|
||
```
|
||
复制0.23
|
||
``` |