Иногда, когда я запускаю скайп, это на самом деле занимает огромное количество памяти
, что я не могу закрыть его, и все просто отстает, как CRAZY. Но это только иногда
есть команда, которая может отследить скайп, и когда он берет ОГРОМНОЕ количество памяти, убейте его. как то так
track skype when memory exceeds XXXX killall skype
Код Туминоида у меня не работал. Я изменил это следующим образом. Кроме того, я уменьшил порог памяти и время сна.
start on startup
stop on shutdown
script
while /bin/true; do
if (pidof skype)
then
test $(cat /proc/`pidof skype`/status | grep "VmSize:" | sed -re s,VmSize:\\s+,, | cut -d" " -f1) -gt 500000 && killall skype
fi
sleep 10
done
end script
Несмотря на то, что может быть смысл устанавливать ограничения заранее, давайте ответим на вопрос OP: -)
Сделайте сценарий Upstart в /etc/init/skype-killer.conf
. Замените skype
двоичным именем Skype, если оно не skype
, и замените 500000
(как в 500000 кБ = 500 М) лимитом в килобайтах, который вы хотите установить для размера виртуальной памяти Skype, и 30
числом секунд между проверками.
Это задание запустится при запуске и продолжит проверку использования памяти Skype. После того, как вы скопировали это в /etc/init
с помощью sudo
, выполните sudo start skype-killer
, чтобы запустить его, или перезагрузите систему. Если вы хотите пересмотреть использование памяти, отредактируйте skype-killer.conf
и выполните sudo stop skype-killer; sudo start skype-killer
.
start on startup
stop on shutdown
script
while /bin/true; do
if $(pidof skype); then
test $(cat /proc/`pidof skype`/status | grep "VmSize:" | sed -re s,VmSize:\\s+,, | cut -d" " -f1) -gt 500000 && killall skype
fi
sleep 30
done
end script
Самый простой способ - использовать команду bash ulimit
, которая сообщает ядру, чтобы оно автоматически уничтожало оболочку (и, следовательно, все ее дочерние процессы), когда использование памяти превышает определенный лимит.
Ctrl-Alt-T
ulimit -v N
, чтобы установить предел в килобайтах , например. 256000
для 256 МБ. skype
Ядро автоматически убьет Skype, если оно превысит лимит, установленный вами через N
. Возможно, вам придется несколько раз поэкспериментировать со значениями N
, чтобы установить соответствующий порог, при котором Skype будет уничтожен непосредственно перед тем, как он начнет влиять на вашу систему («зависание»), а не во время нормальной работы.