MST
星途 面试题库

面试题:Bash中如何监控CPU使用率

请使用Bash脚本实现一个监控CPU使用率的功能,每隔5秒输出一次当前CPU使用率。要求能在Linux系统下正常运行,并对实现思路进行简要说明。
36.3万 热度难度
编程语言Bash

知识考点

AI 面试

面试题答案

一键面试

实现脚本

#!/bin/bash

while true
do
    cpu_usage=$(top -bn1 | grep "Cpu(s)" | awk '{print $2 + $4}')
    echo "当前CPU使用率: $cpu_usage%"
    sleep 5
done

思路说明

  1. while true循环:通过这个无限循环,确保脚本持续运行,不断获取CPU使用率。
  2. top -bn1命令top命令用于查看系统资源使用情况,-b选项表示以批处理模式运行,-n1表示只运行一次,这样可以获取到当前系统状态信息。
  3. grep "Cpu(s)":从top命令的输出中筛选出包含Cpu(s)的行,这一行包含了CPU使用情况的相关数据。
  4. awk '{print $2 + $4}':使用awk工具,提取该行的第2列(用户空间使用率)和第4列(内核空间使用率),并将它们相加,得到总的CPU使用率。
  5. echo输出:将获取到的CPU使用率打印出来。
  6. sleep 5:暂停5秒,实现每隔5秒输出一次的要求。