[Ajuda] Consumo de CPU no GM
#1

Primeiramente boa noite a todos, gostaria de solicitar a ajuda dos programadores de plantгo.
Estou com um problema de uso de cpu em um GM de 70 mil linhas, a causa provavelmente estб em algum loop interno oq torna o log inъtil ao meu ver! Gostaria de um feedback de vocкs de como proceder e/ou se alguйm passou pelo mesmo problema como corrigiu. Att
Reply
#2

Bom, tenho algumas perguntas, para analisar e poder ajudar melhor:
  • Vocк usa GM propio? se nгo, qual o nome original?
  • Mande um trecho de 10 linhas, sobre algum sistema desta GM, para avaliaзгo:
  • Existe alguma causa especifica para ficar lento o server? (depois de 10 players, criar um carro conce....)
  • Vocк fez alguma alteraзгo recentemente, resultando isso?
Reply
#3

Passe o crashdetect com o trace ativado, rode o profiler e veja qual funзгo mais usada etc..
Reply
#4

Quote:
Originally Posted by Dayvison_
Посмотреть сообщение
Passe o crashdetect com o trace ativado, rode o profiler e veja qual funзгo mais usada etc..
crashdetect n funciona pq o servidor nгo crasha, e o profiler n funciona pq o servidor trava
Reply
#5

Eis a questгo do trace, ele vai criar uma log deste tipo:
Код:
funcao1()
funcao2()
funcao1()
Mostrando TODAS funзхes que foram chamadas em seu GM, na que ele travar terб algum erro, provavelmente um loop infinito.Apуs eu recomendei o profiler para vocк encontrar quais outras funзхes consomem muito CPU
Reply
#6

Crie um debug passando pelas funзхes principais contando a taxa de ms para ser executada assim irб saber qual a que estб demorando mais e possivelmente o problema esteja nela.
Reply
#7

Quando era novato aconteceu comigo.

Bom na йpoca oque aconteceu comigo, eu colocado um timer com a repetiзгo ativa entгo, foi criando um timer em cima do outro. Que por acarretou em processamento extremo do samp-server.

Entгo verifique todos os timers possнveis.
PHP код:
public OnGameModeInit()
{
    
SetTimer("funcao"1000true);
}


forward funcao();
public 
funcao()
{
    
SetTimer("funcao"1000true);

Reply
#8

Quote:
Originally Posted by VinicioS
Посмотреть сообщение
Primeiramente boa noite a todos, gostaria de solicitar a ajuda dos programadores de plantгo.
Estou com um problema de uso de cpu em um GM de 70 mil linhas, a causa provavelmente estб em algum loop interno oq torna o log inъtil ao meu ver! Gostaria de um feedback de vocкs de como proceder e/ou se alguйm passou pelo mesmo problema como corrigiu. Att
Verifique o OnPlayerUpdate
Como vocк disse pode ser alguns loops busque por
PHP код:
for(new 0MAX_PLAYERSi++) 
Busque tambйm por
PHP код:
 SetTimer(
й bem possнvel que seja o timer ou o update porque as vezes seu cуdigo tem muitas linhas como um cуdigo que eu tenho aqui ele tem 3800 linhas aproximadamente que sгo executadas antes eram executadas a cada meio segundo 0,5s subiu muito o CPU de uma VPS muito potente de alta performance entгo sу aumentei o timer por segundos coloquei 2500 ou seja 2,5s um intervalo bom,
Espero ter ajudado.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)