gpt4 book ai didi

linux - 内存监控 bash 脚本的 CPU 使用率相当高

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:21:58 30 4
gpt4 key购买 nike

我写了一个小脚本来监视内存使用情况,并在可用缓存内存低于 1000 MB 但高于 800 MB 时发送电子邮件:

#!/bin/bash
while [ true ] ;do
used=`free -m |awk 'NR==3 {print $4}'`

if [ $used -lt 1000 ] && [ $used -gt 800 ]; then
echo "Free memory is below 1000MB. Possible memory leak!!!" | /bin/mail -s "HIGH MEMORY ALERT!!!" user@mydomain.com

sleep 5
fi
done

该脚本运行良好,但出于某种原因,它有 10% 的恒定 CPU 使用率(我们正在谈论新一代四核 Xeon 处理器。我有更大的脚本,其 CPU 使用率远低于 1% .

知道是什么原因造成的吗?我该如何优化它?

最佳答案

Any idea what's causing this and how I can optimize it?

线

sleep 5

在检查内存是否在指定范围内的条件内。很有可能大多数时候内存不在这个范围内,这会导致无限循环没有任何休眠,并使脚本消耗比您预期的更多的资源。

将行放在 if 循环之外,这应该会有所帮助。

关于linux - 内存监控 bash 脚本的 CPU 使用率相当高,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20117586/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com