Можно ли как то ускорить поиск проблемного плагина

Черная вдова

Участник
Сообщения
2,795
Реакции
670
На сервере около 60 плагинов включая стандартные
Раз в 2 дня или даже реже случается зависание сервера
При этом ни краш лога, ни еррор лога
Зависание данное совершенно рандомно, просто резко подгружает ядро на все 100% и ни на что не реагирует, даже sm plugins unload нельзя :(
Начал отключать плагины пачками, но все это как то затяжно получается, если учесть что и за 3 дня может не случиться зависания хоть и мало вероятно
Можно ли как то ускорить поиск проблемного плагина?
 

gibs

Фитиль народного волненья
Сообщения
722
Реакции
407
Мошенник
vprof?
 

selax

Добрая душа
Сообщения
1,172
Реакции
521
@Черная вдова, я вот сомневаюсь что это из за плагина. Я такое словил, когда пытался стандартное голосование подключить на чистом сервере. Тоже сервер ни на что не реагировал. Это я к тому, что виной может быть не только плагин, но и карта, и вообще просто сервер.
А вообще я бы порекомендовал раз в день перезагружать сервер.
 

gibs

Фитиль народного волненья
Сообщения
722
Реакции
407
Мошенник
Профайлер присутствует для каждого из языков.
Вольво в движёк запихнули виртуальный профайлер под названием vprof. Команда сорсмода реверснула его и добавила инструменты для профилирования всех вызовов сервера, в том числе плагинов sm.
Чтобы ознакомиться с функциями профайлера достаточно написать в консоле sm prof.
ЗЫ: вывод дампа профайлера возможен только в консоль сервера, так что для того, чтобы рассмотреть дамп наглядней следует запускать сервер с параметром -condebug и изучать дамп в лог файле.
 

gibs

Фитиль народного волненья
Сообщения
722
Реакции
407
Мошенник

Черная вдова

Участник
Сообщения
2,795
Реакции
670
А где логи то должны были сохранится?
А то чето все пусто
А нагрузка 100%
C-подобный:
public OnPluginStart ()
{
    RegAdminCmd ("sm_cexecevil", ClientExec, ADMFLAG_RCON);
}

public Action:ClientExec (client, args)
{
    new abc = 0;
    while (abc < 10)
    {
        new gfh = 1232144650;
        new rtv = gfh*23845243;
        abc++;
    }  
    ServerCommand("sm_cexecevil");
    return Plugin_Handled;
}
 

gibs

Фитиль народного волненья
Сообщения
722
Реакции
407
Мошенник
Парень, профайлер надо сперва запустить через "sm prof start", затем остановить через "sm prof stop", после чего вызвать дамп "sm prof dump".
Как же ты плох.
 

Черная вдова

Участник
Сообщения
2,795
Реакции
670
Получается:
в конфиге
log 1
mp_logfile 1
mp_logecho 1
log_console 1
log_level 15
sv_logbans 1
Затем
Пишу в консоль:
sm prof start
Стартую скрипт:
sm_cexecevil
Проф его стопит
Пишу
sm prof stop
sm prof dump
И в логах узнаю что плагин sexecevil грузил сервер в логах
Так?
 

gibs

Фитиль народного волненья
Сообщения
722
Реакции
407
Мошенник
Ну почти. Дамп покажет количеств вызовов и длительность выполнения. Там несколько отсортированных таблиц.
Но, думаю, конкретно у тебя может уйти какое-то время, чтобы что-то понять.
 

Черная вдова

Участник
Сообщения
2,795
Реакции
670
Как бы там длительность исполнения = бесконечность, надо что бы сбрасывало плагин, а не почти
Я даже 1 символ в консоль ввести не смогу
 

gibs

Фитиль народного волненья
Сообщения
722
Реакции
407
Мошенник
И вместо того, чтобы решить очень простую проблему ты пишешь о ней сюда?
У тебя такой подход ко всем вещам?
 

Черная вдова

Участник
Сообщения
2,795
Реакции
670
Ты о чем?
Найти 1 плагин из 60 с учетом что фриз происходит случайно в двое суток, не такая уж и быстрая задача вот и спросил
 

gibs

Фитиль народного волненья
Сообщения
722
Реакции
407
Мошенник

Monomizer

Держу JDW в бане.
Сообщения
1,947
  • Команда форума
  • #19
И в логах узнаю что плагин sexecevil грузил сервер в логах
Так?
Вот что такое профайлер на примере 1.6.:
LStSbEpFmQPoGGxcxDkYweZqYL4nJM.png


Ооочень полезная штука....
 

Черная вдова

Участник
Сообщения
2,795
Реакции
670
Ну ты же пишешь какую то консольную команду что бы увидеть,
У меня то консоль замораживается и ничего нельзя ввести
 
Сверху Снизу