Вернуться   Russian Mangos DC > Баг Репорты > Mangos > Краши, Зависания сервера
Добро пожаловать, CruncH.
Ваш последний визит: 24.07.2009 в 15:12
Личные сообщения: Новых 0, всего 7.

Ответ
 
Опции темы Поиск в этой теме Оценить тему Опции просмотра
Старый 27.05.2009, 17:34   #31
RMDC People
 
Аватар для sven
 
Регистрация: 28.09.2006
Сообщений: 188
Сказали спасибо: 31 раз
sven на пути к лучшему
По умолчанию Re: Crash dump'ы под Linux

Цитата:
Сообщение от Gorlum13 Посмотреть сообщение
_debug.sh Лежит в $MANGOS_HOME
Код:
#!/bin/sh

MANGOS_HOME=`pwd`;
MANGOS_SERVER="$1"

if [ "$MANGOS_SERVER" ] ;
then
  echo ""
else
  echo "$MANGOS_SERVER" illegal world ID ! Exiting...
  exit 1
fi

MANGOS_SERVER_LOG=$MANGOS_HOME/server/logs/"$MANGOS_SERVER"_crash.log

sbin="/home/mangos/server"
core="/home/mangos/server/logs/core"
coredump="/home/mangos/server/logs/$MANGOS_SERVER"

ulimit -c unlimited
sysctl -w "kernel.core_pattern=${core}"
sysctl -w "kernel.core_uses_pid=1"

while :
do
  date=`date +%Y-%m-%d_%k-%M-%S`
  gdb -c ${core}.${pid} --n --batch --command=${sbin}/logs/bt ${sbin}/mangos-worldd > ${coredump}/"$MANGOS_SERVER"_server_${date}.dump
  
  echo "MaNGOS daemon restarted"

  echo `date` >> ${MANGOS_SERVER_LOG} &
 
  nice -20 $MANGOS_HOME/server/mangos-worldd -c $MANGOS_HOME/server/etc/mangosd_"$MANGOS_SERVER".conf
  
  echo " " >> ${MANGOS_SERVER_LOG}
  pid=`cat "$MANGOS_HOME"/server/${MANGOS_SERVER}.pid`
  echo $MANGOS_SERVER started on ${date}, PID is $pid
  wait $pid
done
Запускается из $MANGOS_HOME
./_debug.sh <имя сервера>

Сервер лежит в $MANGOS_HOME/server
Логи в $MANGOS_HOME/server/logs/<имя сервера>
Конфиги в $MANGOS_HOME/server/etc/mangosd_<имя сервера>.conf

файл $MANGOS_HOME/server/logs/bt
Код:
bt full
Собственно, переделывай под себя
собственно немного не понял такие пункты как
/mangosd_<имя сервера>.conf
взял выкинул из кода
Код:
  nice -20 $MANGOS_HOME/server/mangos-worldd -c $MANGOS_HOME/server/etc/mangosd_"$MANGOS_SERVER".conf
вот это
Код:
_"$MANGOS_SERVER"
и также не понял
MANGOS_SERVER="$1"
с этим не запускается скрипт... писал тут вместо $1 и core и bin ... нихрена скрипт не работает((( растолкуйте мне плиз... просто с линухом не особо знаком((((
мой скрипт выглядит ща так
Код:
#!/bin/sh

MANGOS_HOME=`pwd`;
MANGOS_SERVER="bin"

if [ "$MANGOS_SERVER" ] ;
then
  echo ""
else
  echo "$MANGOS_SERVER" illegal world ID ! Exiting...
  exit 1
fi

MANGOS_SERVER_LOG=$MANGOS_HOME/server/logs/"$MANGOS_SERVER"_crash.log

sbin="/home/mangos/server"
core="/home/mangos/server/logs/core"
coredump="/home/mangos/server/logs/$MANGOS_SERVER"

ulimit -c unlimited
sysctl -w "kernel.core_pattern=${core}"
sysctl -w "kernel.core_uses_pid=1"

while :
do
  date=`date +%Y-%m-%d_%k-%M-%S`
  gdb -c ${core}.${pid} --n --batch --command=${sbin}/logs/bt ${sbin}/mangos-worldd > ${coredump}/"$MANGOS_SERVER"_server_${date}.dump
  
  echo "MaNGOS daemon restarted"

  echo `date` >> ${MANGOS_SERVER_LOG} &
 
  nice -20 $MANGOS_HOME/server/bin/mangos-worldd -c $MANGOS_HOME/server/etc/mangosd.conf
  
  echo " " >> ${MANGOS_SERVER_LOG}
  pid=`cat "$MANGOS_HOME"/server/${MANGOS_SERVER}.pid`
  echo $MANGOS_SERVER started on ${date}, PID is $pid
  wait $pid
done
проблема в том что стартует сразу 2 сервера... и также проблема с корками(

Последний раз редактировалось sven; 27.05.2009 в 18:00.
sven вне форума Добавить отзыв для sven Пожаловаться на это сообщение   Ответить с цитированием Мультицитирование этого сообщения Быстрый ответ на это сообщение Вы сказали Спасибо
Старый 29.05.2009, 08:58   #32
RMDC People
 
Регистрация: 15.12.2008
Сообщений: 119
Сказали спасибо: 29 раз
Gorlum13 на пути к лучшему
По умолчанию Re: Crash dump'ы под Linux

Цитата:
Сообщение от sven Посмотреть сообщение
собственно немного не понял такие пункты как
/mangosd_<имя сервера>.conf
взял выкинул из кода
Код:
  nice -20 $MANGOS_HOME/server/mangos-worldd -c $MANGOS_HOME/server/etc/mangosd_"$MANGOS_SERVER".conf
вот это
Код:
_"$MANGOS_SERVER"
и также не понял
MANGOS_SERVER="$1"
с этим не запускается скрипт... писал тут вместо $1 и core и bin ... нихрена скрипт не работает((( растолкуйте мне плиз... просто с линухом не особо знаком((((
мой скрипт выглядит ща так
Код:
#!/bin/sh

MANGOS_HOME=`pwd`;
MANGOS_SERVER="bin"

if [ "$MANGOS_SERVER" ] ;
then
  echo ""
else
  echo "$MANGOS_SERVER" illegal world ID ! Exiting...
  exit 1
fi

MANGOS_SERVER_LOG=$MANGOS_HOME/server/logs/"$MANGOS_SERVER"_crash.log

sbin="/home/mangos/server"
core="/home/mangos/server/logs/core"
coredump="/home/mangos/server/logs/$MANGOS_SERVER"

ulimit -c unlimited
sysctl -w "kernel.core_pattern=${core}"
sysctl -w "kernel.core_uses_pid=1"

while :
do
  date=`date +%Y-%m-%d_%k-%M-%S`
  gdb -c ${core}.${pid} --n --batch --command=${sbin}/logs/bt ${sbin}/mangos-worldd > ${coredump}/"$MANGOS_SERVER"_server_${date}.dump
  
  echo "MaNGOS daemon restarted"

  echo `date` >> ${MANGOS_SERVER_LOG} &
 
  nice -20 $MANGOS_HOME/server/bin/mangos-worldd -c $MANGOS_HOME/server/etc/mangosd.conf
  
  echo " " >> ${MANGOS_SERVER_LOG}
  pid=`cat "$MANGOS_HOME"/server/${MANGOS_SERVER}.pid`
  echo $MANGOS_SERVER started on ${date}, PID is $pid
  wait $pid
done
проблема в том что стартует сразу 2 сервера... и также проблема с корками(
Нет слов. "Кто людям помогает - тот тратит время зря" Возможно, тебе не стоит держать сервер под линуксом. Поставь винду, авторестартер и забудь линукс как страшный сон (коим он и является).
Gorlum13 вне форума Добавить отзыв для Gorlum13 Пожаловаться на это сообщение   Ответить с цитированием Мультицитирование этого сообщения Быстрый ответ на это сообщение Вы сказали Спасибо
Старый 29.05.2009, 16:47   #33
RMDC People
 
Аватар для sven
 
Регистрация: 28.09.2006
Сообщений: 188
Сказали спасибо: 31 раз
sven на пути к лучшему
По умолчанию Re: Crash dump'ы под Linux

Цитата:
Сообщение от Gorlum13 Посмотреть сообщение
Нет слов. "" Возможно, тебе не стоит держать сервер под линуксом. Поставь винду, авторестартер и забудь линукс как страшный сон (коим он и является).
спс... я не нуждаюсь в советах... я нуждаюсь в помощи... можите больше ничего не писать... ибо ваш девис
Цитата:
Кто людям помогает - тот тратит время зря
sven вне форума Добавить отзыв для sven Пожаловаться на это сообщение   Ответить с цитированием Мультицитирование этого сообщения Быстрый ответ на это сообщение Вы сказали Спасибо
Этот пользователь сказал Спасибо sven за это полезное сообщение:
Старый 30.05.2009, 07:21   #34
RMDC People
 
Регистрация: 15.12.2008
Сообщений: 119
Сказали спасибо: 29 раз
Gorlum13 на пути к лучшему
По умолчанию Re: Crash dump'ы под Linux

Цитата:
Сообщение от sven Посмотреть сообщение
спс... я не нуждаюсь в советах... я нуждаюсь в помощи... можите больше ничего не писать... ибо ваш девис
Спасибо, разберусь сам - когда писать, когда не писать.

Я тебе дал готовое, работающее решение. Очевидно, ты совсем не понимаешь, как оно работает и почему оно работает. Потому что ты выкинул важные части, без которых этот батник будет работать неправильно.

Еще раз повторюсь - если ты не понимаешь, как работает линукс, снеси его нафиг и поставь винду. Это был хороший и дружелюбный совет. У меня один сервер работает под виндой, а второй под линуксом. Но только потому, что железо винду не тянет. Уверяю тебя, в пользовании виндой нет ничего постыдного. Нужно использовать тот инструмент, который лучше всего удовлетворяет цели. Для пользователя, незнакомого с линуксом, лучший инструмент - это винда. Ты, очевидно, с линуксом не знаком. Если бы мой второй сервак потянул винду, я бы ни секунды не сомневаясь тут же снес линукс нафиг и поставил бы ОС от БГ. Но - увы.

Поэтому последний раз порекомендую - не заморачивайся с линуксом и ставь винду. Впрочем, если ты (как и многие юные линусоиды) хочешь не рабочий сервер, а "потрахаться" - вперед. Тогда мой совет - юзай гугль. Там много умного написано. Так ты хотя бы будешь соответствовать цели проекта "Мангос" - исследование и обучение.

P.S. Да, и еще рекомендую почитать литературу по программированию. К примеру - что означают общепринятое обозначение "угловые скобки".
Gorlum13 вне форума Добавить отзыв для Gorlum13 Пожаловаться на это сообщение   Ответить с цитированием Мультицитирование этого сообщения Быстрый ответ на это сообщение Вы сказали Спасибо
Эти 3 пользователя(ей) сказали Спасибо Gorlum13 за это полезное сообщение:
Старый 30.05.2009, 17:29   #35
RMDC People
 
Аватар для sven
 
Регистрация: 28.09.2006
Сообщений: 188
Сказали спасибо: 31 раз
sven на пути к лучшему
По умолчанию Re: Crash dump'ы под Linux

я конечно все тоже понимаю... но у меня друг сисадмин сетки... который на линухе поднимал много сервисов.... и даже как то держал варку... я к нему обратился за помошью он также ничего конкретно не смог сказать... а именно что за mangosd_<имя сервера>.conf и ./_debug.sh <имя сервера> я бы собственно поэтому так и не писал бы... но оказывается что человек который знаком с линухом и всегда мне помогал с советами в данной ситуации окозался не в удел... поэтому и решил на писать тут... но если вы себя считаете человеком который может раздавать дружеские советы а не помощь то я тогда на большее не надеюсь... и тогда буду просто соберать ядра не в дебаги и не буду отлавливать краши... а как нить по старинке как и жил...
sven вне форума Добавить отзыв для sven Пожаловаться на это сообщение   Ответить с цитированием Мультицитирование этого сообщения Быстрый ответ на это сообщение Вы сказали Спасибо
Старый 31.05.2009, 17:18   #36
Эксперт
 
Аватар для Skel
 
Регистрация: 26.07.2006
Сообщений: 583
Сказали спасибо: 132 раз
Skel - луч света в тёмном царствеSkel - луч света в тёмном царствеSkel - луч света в тёмном царствеSkel - луч света в тёмном царствеSkel - луч света в тёмном царстве
Отправить сообщение для Skel с помощью ICQ
По умолчанию Re: Crash dump'ы под Linux

Собственно у меня криво работает но работает

start
Код:
cd /home/mangos/wotlk_server/bin/
screen -wipe
screen -AmdS w-world /home/mangos/wotlk_server/bin/w-mangos.sh
screen -AmdS w-realm /home/mangos/wotlk_server/bin/w-realm.sh
stop
Код:
#!/bin/sh
PID=/var/run/screen/S-root
kill -9 `screen -list | awk '{print $1}' | sed -e '1d' -e '3,6d' -e 's/\>.*//g'`
kill -9 `screen -list | awk '{print $1}' | sed -e '1,2d' -e '4,6d' -e 's/\>.*//g'`
rm -f $PID/*
w-mangos.sh
Код:
#!/bin/bash
# Massive Network Game Object Server
# autorestart Script

while :
do
	echo "MaNGOS daemon restarted"
	echo `date` >> crash.log &
	nice -n -10 ./crash_m2
	nice -n -10 ./mangos-worldd -c ./1mangosd.conf
	# | tail -n 20 >> crash.log 
	echo " " >> crash.log &
	pid=`ps ax | awk '($5 ~ /mangos-worldd/) { print $1 }'`
	wait $pid
        echo `date` ", MaNGOS daemon crashed and restarted." >> serverlog
done


w-realm.sh
Код:
#!/bin/sh
while true ; do
echo `date` ", Realm daemon crashed and restarted." >> /home/mangos/server/bin/realmcrash
/home/mangos/wotlk_server/bin/mangos-realmd -c ./1realmd.conf
done

dumpcore.cmds
Код:
bt full
info threads
info locals
info frame
info args
info stack

crash_m2
Код:
cname=`ls -1 core.* | grep -m1 core.`
nice -n 10 gdb --se ./mangos-worldd --core=${cname} --command=dumpcore.cmds --batch >> ./debug/${cname}.txt;
rm core.* -f
__________________
MaNGOS
Skel вне форума Добавить отзыв для Skel Пожаловаться на это сообщение   Ответить с цитированием Мультицитирование этого сообщения Быстрый ответ на это сообщение Вы сказали Спасибо
Эти 2 пользователя(ей) сказали Спасибо Skel за это полезное сообщение:
Ответ

Быстрый ответ
Сообщение:
Убрать форматирование текста
Полужирный
Курсив
Подчёркнутый

Вставить изображение
Вставить BB код цитаты [QUOTE] вокруг выделенного текста
 
Уменьшить размер
Увеличить размер
Переключить режим редактора
Опции


Здесь присутствуют: 1 (пользователей: 1 , гостей: 0)
CruncH

Ваши права в разделе
Вы можете создавать новые темы
Вы можете отвечать в темах
Вы можете прикреплять вложения
Вы можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Anti-Crash waza123 Ядро 21 20.02.2009 18:04
Crash nhtrfgb Корзина форума 2 08.12.2008 20:40
Crash 6061-67 [Win] Andreyko Корзина форума 5 11.07.2008 13:59
[crash] 5785+SD2 385 (linux) -={ CaT MaX }=- Корзина форума 3 20.05.2008 03:47
Crash boss_midnight cyberkill Корзина форума 1 27.01.2008 19:23

Часовой пояс GMT +8, время: 00:38.
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd. Перевод: zCarot

Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей. Вы не можете использовать MaNGOS в коммерческих целях, также не разрешается устанавливать публичные серверы на базе MaNGOS. Любое копирование материалов, информации в любом виде - без указания источника GetMangos.ru - будет считаться нарушением авторских прав, а так же нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.