0
Waiting for user's reply

сервер часто

AlexDr 2 months ago in Server Solutions / Linux Server • updated by Aleksandr Romanov (CTO) 6 days ago 10

Доброго дня!


Есть сервер на RPi 3. В данный момент он работает на версии иридиум 1.1.8. Ну как работает - минут 5-10. Потом сервер iridium зависает и он ребутится ватчдогом. Интервалы до перезагрузки разные. Иногда 2 минуты, иногда 15 минут. Но в среднем 5-10.


Я ставил последнюю версию сервера - 1.2.1 он ведет себя точно так же. Пробовал очистить все папки, снести иридиум и устанавливал все по новой. Перезагрузки не прекратились.


Запустил параллельный пинг яндекса. На 214 пинге в веб интерфейсе сервера шапка стала красной. На 229 сервер ушел в ребут.



Как понять причину перезагрузок? 

в логах сервера встречал это:

[30-09-2017 00:17:06.000] DEBUG CORE Core DoInit
[30-09-2017 00:17:06.000] INFO TRACE === Crash Detected === 
[30-09-2017 00:17:06.000] INFO TRACE === End of Crash === 
[30-09-2017 00:17:06.000] INFO CORE Alert detected!!!
[30-09-2017 00:17:06.000] DEBUG CORE Core StartLoading
[30-09-2017 00:17:06.000] DEBUG PROJECT Load project /var/lib/iRidium Server/Documents/Project_1506720336160/


и это:

[30-09-2017 01:17:06.000] DEBUG CORE Core DoInit
[30-09-2017 01:17:06.000] INFO TRACE === Crash Detected === 
[30-09-2017 01:17:06.000] INFO TRACE Segmentation fault(11) at 0xD5FDD5F4 near 0xD5FDD5F4
[30-09-2017 01:17:06.000] INFO TRACE TraceSize 1, ErrorAddr: d5fdd5f
[30-09-2017 01:17:06.000] INFO TRACE === End of Crash === 
[30-09-2017 01:17:06.000] INFO CORE Alert detected!!!
[30-09-2017 01:17:06.000] DEBUG CORE Core StartLoading
[30-09-2017 01:17:07.000] DEBUG PROJECT Load project /var/lib/iRidium Server/Documents/Project_1506720336160/

В других логах все выглядит нормально:

[30-09-2017 09:49:09.000] DEBUG CORE Core DoInit
[30-09-2017 09:49:09.000] DEBUG CORE Core StartLoading
[30-09-2017 09:49:10.000] DEBUG PROJECT Load project /var/lib/iRidium Server/Documents/Project_1506720336160/





Заметил что ошибки с сообщениями "Crash detected" всегда происходят на 17 минуте каждого часа

В каждую 17 минуту запускается какой-то процесс. Не знаю за что он отвечает:


# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user<>command
17 *<-->* * *<->root    cd / && run-parts --report /etc/cron.hourly
25 6<-->* * *<->root<-->test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6<-->* * 7<->root<-->test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6<-->1 * *<->root<-->test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )


в /etc/cron.hourly:


#!/bin/sh
#
# Simple cron script - save the current clock periodically in case of
# a power failure or other crash if (command -v fake-hwclock >/dev/null 2>&1) ; then
  fake-hwclock save fi


закомментировал пока строчку эту. на 17й минуте сервер не перезагрузился



Waiting for user's reply

Здравствуйте!


Я так понимаю перезагрузки происходят даже если на сервере нет проекта?

Файл, в котором вы закоментировали строку, относится к настройкам планировщика в Linux. Возможно у вас было что-то настроено в планировщике, либо данная настройка была изначально включена в сборку ОС, которую вы установили. Можете уточнить какую сборку вы используете на вашем RPI ?

удалил иридиум, перезагрузил сервер. После этого он работал больше часа. Пока не перезагружался. 

В первом посте я писал что перезагружает его ватчдог иридиума. Т.к. после зависания иридиума, консоль на сервере работает какое-то время. 40-60 секунд примерно. 


позже загрузил на сервер проект. какое-то время работал. меньше 15 минут. потом начал перезагружаться. С различными интервалами опять же.

Закомментированная строчка убрала перезагрузку которая происходилка каждую 17ю минуту часа.  

Но кроме этого сервер перезагружается еще не понятно по какой причине. Не могу понять зависимость.


Сборка:


root@iRsrv-Han:/etc# cat /etc/*release
PRETTY_NAME="Raspbian GNU/Linux 8 (jessie)"
NAME="Raspbian GNU/Linux"
VERSION_ID="8"
VERSION="8 (jessie)"
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/" 


Т.к. без проекта сервер работал стабильно, то возможно в вашем проекте происходят утечки памяти. Т.е. память переполняется в определенный момент и срабатывает Script Garbage collector, во время работы которого, сервер может во время не ответить watchdog'у и поэтому будет перезагружен.

Пересмотрите ваш проект, возможно получиться его оптимизировать, чтобы память не кончалась так быстро.

информация внизу страницы с загрузкой ЦП и памяти как-то отражает переполненность памяти или нагрузку процессора?


CPU: used 2.11%
Memory: used 157.75 Mb from 925.52 Mb (17%)
Storage: used 0.01 Gb from 14.66 Gb (0.09%)


при каких значениях можно считать что проект перегружает память? кроме перезагрузок что еще будет указывать на перегруженность? 


К сожалению, по данной информации не получится понять насколько память загружена именно скриптами. Лучше включить для сервера уровень логгирования Debug и посмотреть в логах насколько часто срабатывает Script Garbage collector. 

Здравствуйте, Ваша проблема еще не решена?

Не могу сказать что она решена, т.к. перезагрузки происходят, но менее регулярно. 


При этом событие Script Garbage collector происходит примерно каждые две минуты. Это не достаточно редко? Какие еще есть способы выяснить загрузку памяти скриптами?

Это слишком часто... .я бы назвал нормальным срабатывание раз в 10-15 минут,и то при большой нагрузке. Дело не в абсолютной загрузке памяти, а в скорости ее заполнения. Проверьте, что не используются массивы без надобности, возможно парсинг происходит в повышенном объеме. Можно добавлять в проект скрипт частями, чтобы выявить какая функция загружает память...