需要连续打印文件中的当前CPU使用率和内存使用率

时间:2019-01-06 04:05:41

标签: bash shell unix

我已经准备了以下脚本,但是没有将任何数据添加到输出文件中。

我的目的是获取当前的CPU使用率和内存使用率,并将它们打印在日志文件中。

我的以下脚本出了什么问题?我将在CentOS机器上运行此脚本文件。

#!/usr/bin/bash

HOSTNAME=$(hostname)
mkdir -p /root/scripts
LOGFILE=/root/scripts/xcpuusagehistory.log
touch $LOGFILE

a=0;
b=1;
while [ "$a" -lt "$b" ]
do
    CPULOAD=`top -d10 | grep "Cpu(s)"`
    echo "$CPULOAD on Host $HOSTNAME" >> $LOGFILE
done

1 个答案:

答案 0 :(得分:0)

while true
do
    cpu_load="$(top -b -n1 -d10 | grep "Cpu(s)")"
    echo "$cpu_load on Host $HOSTNAME" >> "$log_file"
    sleep 1
done

请参见手册页顶部的batch mode (-b)