Показать сообщение отдельно
Непрочитано 02.07.2013, 00:23   #1
Пользователь

Автор темы (Топик Стартер) Как собрать "треды"

Так вышло что у меня "разработчик'у" сборки очень наплевать на своих клиентов и к решению их проблем относиться очень-очень туго.

У него было обновление ядра, после чего у меня начала зависать сервер, точнее даже не зависать, а отваливаться от БД.
Сервер продолжит работу, но зайти на него никто не сможет.
Через Контрл+С он начинает выключатся, но когда доходит до сохранения информаци выдаёт ошибку мол не может соединиться с БД.

Помогает только закрытие и вновь запуск сервера.

После долгих мучений разработчика он отписал вот что:
Цитата:
что-бы нам быстрее понять в чем причина, поставьте JDK, потом если повиснет, ищите ид процесса геймсерера и набираете:
/путь_к_jdk/jstack ид_процесса > /root/threaddumps.log
потом
top -Hp ид_процесса > /root/threads.log
там файл создастса этот, и через сикунд 30 прибьете через ctrl-c, чтоб все треды собрались, я увижу какой тред и почему повис
Это было когда я пользовался дебианом, но в связи с падениями по 2-3 раза в сутки сервер быстро загнулся, теперь стоит "у меня дома на Win 7" как тестовый для исправлении именно этого бага, чтоб сервер не падал.

Я смог создать лишь threaddumps.log, а вот как сделать 2-й пунк того что написал разработчик - не знаю, я его 2 недели вылавливал, но даже когда он объявился после моего вопроса снова пропал.

Поэтому я пишу тут и надеюсь на вашу помощь.

П.С Сервер падал на Windows Server 2003\2008, Windows 7 x64 Ult., Debian 6.0.
Везде настройки MySQL были разные, на дебиане my.cnf от сервера с пиковым онлайном 1300.
П.С.С Все свои доработки (скрипты) я также отключал, и пользовался "почти чистой" сборкой.

Последний раз редактировалось Main; 03.07.2013 в 13:03.
Main вне форума Ответить с цитированием