Страница 1 из 1
rinetd грузит процессор - пытаюсь вытащить %
Добавлено: 2020-05-01 8:00:54
romaxa
Всем доброе время.
Переодически у меня 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