当使用Bash脚本从SAR(System Activity Reporter)报告中获取CPU和内存使用情况时,我们可以利用grep、awk和其他Linux命令来解析SAR报告并提取所需信息。下面是一个用于获取CPU和内存使用情况的Bash脚本示例:

#!/bin/bash

# 检查SAR命令是否安装
command -v sar > /dev/null 2>&1
if [[ $? -ne 0 ]]; then
    echo "SAR命令未找到,请先安装sysstat。"
    exit 1
fi

# 获取CPU使用情况
cpu_usage=$(sar -u 1 1 | grep -E '^[0-9]+:[0-9]+:[0-9]+ [A|P]M.*all' | awk '{print $NF}')
echo "当前CPU使用率: $cpu_usage%"

# 获取内存使用情况
memory_usage=$(sar -r 1 1 | grep -E '^[0-9]+:[0-9]+:[0-9]+ [A|P]M.*kbmemfree' | awk '{print $NF}')
echo "当前内存空闲量: $memory_usage KB"

# 如果需要获取更多内存信息,可以使用以下命令获取内存总量和已使用内存量
# total_memory=$(free -k | grep 'Mem:' | awk '{print $2}')
# used_memory=$(free -k | grep 'Mem:' | awk '{print $3}')
# echo "总内存: $total_memory KB"
# echo "已使用内存: $used_memory KB"

exit 0
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.

以上脚本会先检查系统是否安装了sar命令(sysstat工具),如果没有安装,则输出错误信息并退出脚本。然后,通过sar命令获取CPU和内存的使用情况,并使用grep和awk命令从输出中提取所需的信息。最后,将获取的CPU使用率和内存空闲量打印到屏幕上。

请注意,sar命令通常包含在sysstat软件包中,您可能需要在使用脚本之前先安装该软件包。在Ubuntu上,可以使用以下命令安装sysstat:

sudo apt-get update
sudo apt-get install sysstat
  • 1.
  • 2.

在CentOS上,可以使用以下命令安装sysstat:

sudo yum install sysstat
  • 1.

完成安装后,您可以运行脚本来获取CPU和内存使用情况。这样,您就能方便地监控系统的性能情况。如果您有其他问题或需要更多帮助,请随时向我咨询。祝您操作愉快!