6.1 KiB
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