# 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 ```