【发布时间】:2018-03-05 08:28:00
【问题描述】:
我试图弄清楚为什么这个简单的 bash 脚本在运行时内存占用不断增加
#!/bin/bash
while true
do
pid=$(xdotool search --name "TeamViewer")
if [ ! -z "$pid" ]; then
xdotool windowminimize $pid
fi
sleep 1
done
当我运行watch cat /proc/meminfo 并运行脚本时,我看到memFree 和memAvailable 的值以稳定的速度下降。它会继续发生,直到系统内存不足并不得不退回到交换,这导致我的系统出现问题
我认为,由于--sync,脚本的原始版本(如下)以更高的速度使用内存
#!/bin/bash
while true
do
xdotool search --name --sync "TeamViewer" windowminimize
sleep 5
done
任何帮助将不胜感激
我使用的是 2011 Macbook Pro,运行 Linux Mint 18.1 和 8GB 内存
【问题讨论】:
-
你确定内存被你的 bash 脚本而不是 TeamViewer 本身吃掉了吗?您可以使用
top -p123 -p789,其中123和789是您的脚本和团队查看器的PID。 -
是的,我正在真空中测试这个脚本。没有其他进程正在运行。
标签: linux bash memory-leaks xdotool