четверг, 26 сентября 2019 г.

Перезапуск службы srv1cv83.service по превышению пользователем usr1cv8 заданной величины MAXRSS

Automatically kill processes that over time uses 95%+ of resources? Ubuntu
Bash script that automatically kills processes when CPU/memory usage gets too high
Команда TOP: Отличие между VIRT, RES и SHR столбцами
Задание Cron и сценарий оболочки, чтобы убить процесс, если память становится слишком высокой
Automatically kill processes that over time uses 95%+ of resources? Ubuntu
Find memory used by Services.
How to find user memory usage in linux
How to Configure the Linux Out-of-Memory Killer
Surviving the Linux OOM Killer
Как сравнивать числа в оболочке Bash в Linux

ссылка на форум
 



$ echo "USER                 RSS      PROCS" ; echo "-------------------- -------- -----" ; ps hax -o rss,user | awk '{rss[$2]+=$1;procs[$2]+=1;}END{for(user in rss) printf "%-20s %8.0f %5.0f\n", user, rss[user]/1024, procs[user];}' | sort -rnk2



$ ps hax -o rss,user | awk '{a[$2]+=$1;}END{for(i in a)print i" "int(a[i]/1024+0.5);}' | sort -rnk2

postgres 1689
usr1cv8 1459
root 215
user 46
messagebus 4
syslog 3
systemd-timesync 2
daemon 2


Готовый скрипт:
$ sudo nano /root/restart1c.sh

#!/bin/bash
MAXRSS=2000 #Mb for user usr1cv8
echo MAXRSS: $MAXRSS
RSS=`ps hax -o rss,user | awk '{a[$2]+=$1;}END{for(i in a)print i" "int(a[i]/1024+0.5);}' | grep usr1cv8 | awk '{ print $2}'`
#RSS=3000
echo RSS: $RSS
if [ $RSS -ge $MAXRSS ]
then
   sudo systemctl start  srv1cv83.service
else
echo "RSS<MAXRSS"
fi


Комментариев нет:

Отправить комментарий