Страница 1 из 1

rinetd грузит процессор - пытаюсь вытащить %

Добавлено: 2020-05-01 8:00:54
romaxa
Всем доброе время.

Переодически у меня rinetd грузить процессор начинает, при этом перезагрузка его помогает.
Делаю что-то типа:

Код: Выделить всё

#!/bin/sh
top | grep rinetd
Получаю строчку: 819 root 1 34 0 11M 2576K select 1 164:28 95.00% rinetd

Как мне лучше вытащить цифру процента загрузки, чтобы распознать процент и его перезапустить?

rinetd грузит процессор - пытаюсь вытащить %

Добавлено: 2020-05-01 8:42:42
romaxa
Сделал вот так, может можно как-то проще?

Код: Выделить всё

RSLT=`top | grep rinetd | tr " " "\n" | grep % | tr "%" "\n" | cut -c 1-2`
echo $RSLT

rinetd грузит процессор - пытаюсь вытащить %

Добавлено: 2020-05-01 9:30:34
romaxa
Если процент был менее 10, то ошибку выводило.
Получилось так, но мне кажется это сильно длинно, может можно проще?

Код: Выделить всё

RSLT=`top | grep rinetd | tr " " "\n" | grep % | tr "%" "\n" | sed -r "s/\..+//"`

#echo $RSLT

rinetd грузит процессор - пытаюсь вытащить %

Добавлено: 2020-05-01 17:52:27
Neus
man ps
man procstat

rinetd грузит процессор - пытаюсь вытащить %

Добавлено: 2020-05-02 9:15:22
romaxa
А чем top не подходит? Разве не проще взять процент в строке, в которой четко указан процент?
Neus писал(а):
2020-05-01 17:52:27
man ps
man procstat

rinetd грузит процессор - пытаюсь вытащить %

Добавлено: 2020-08-27 11:37:29
Alex Keda
я киляю раз в сутки, ночью и запускаю заново
это как бы известная у него бага...

rinetd грузит процессор - пытаюсь вытащить %

Добавлено: 2020-08-28 10:26:39
romaxa
Я поставил писать в лог, не так и часто он тупит у меня.

Раз в 1-2 месяца...

Вот скрипт, который мониторит его и пишет лог:

Код: Выделить всё

#!/bin/sh

check_date="`date +%Y-%m-%d' '%H:%M`"
check_log="/usr/local/etc/cameracheck/log"

PID=`cat /var/run/rinetd.pid`

RSLT=`ps -u -p "$PID" | grep rinetd`

RSLT=`echo $RSLT | awk '{print $3}' | sed -r "s/\..+//"`

# processor overload more then 80%
if [ "$RSLT" -gt 80 ]
then
#restart rinetd
#write to log
{
echo "Overload processor: $check_date - $RSLT%: restarting..."  >> $check_log
echo "Overload processor: $check_date - $RSLT%: restarting..." |  mail -s "Rinetd restarted" root

/usr/local/etc/rc.d/rinetd restart

}
fi