我想弄清楚为什么这个简单的 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
任何帮助将不胜感激
我使用的是运行 Linux Mint 18.1 和 8GB RAM 的 2011 Macbook Pro
最佳答案
不确定到底发生了什么,但问题已以某种方式自行解决。运行此脚本不再占用内存。
#!/bin/bash
while true
do
pid=$(xdotool search --name "TeamViewer")
if [ ! -z "$pid" ]; then
xdotool windowminimize $pid
fi
sleep 1
done
不过这个还是可以的。
#!/bin/bash
while true
do
xdotool search --name --sync "TeamViewer" windowminimize
sleep 5
done
可能是我的测试方法有缺陷,导致我相信它们都耗尽了内存。
关于linux - 一个简单的 bash 脚本异常内存使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46387073/