创建top_bash脚本,脚本内容如下:
echo "=========获取test性能日志==============="
for i in {1..48}
do
echo "=========每隔3600S(一个小时)存一个日志文件===================="
time=$(date "+%Y%m%d-%H:%M")
for j in {1..3600}
do
top -p 13598 -n 1 -b|grep test|tee -a >> log/toplog_${time}.txt
sleep 1
done
done
-p 指定进程id
-n 执行次数,执行完退出top命令
-b 是指 batch mode,在这个mode下,top 不接受任何输入
grep test 过滤包含test内容的记录,此处和-p参数结合,输出更精简,不带有系统性能信息
tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件
-a append 附加到既有文件的后面,而非覆盖它