Volt-Host CPU usage over 100% -
SKAzini - 27.03.2013
Well, basically I believe that my script is eating CPU. Sometimes (not all the time) the CPU usage gets up to 120%, reported by the Volt-Host server information page else it only uses around 15%.
Fuel system (I do not think that this is the problem):
pawn Код:
//OnGameModeInit:
SetTimer("VehFuelTimer", 40000, true);
//---
public VehFuelTimer()
{
new iEngine, iLights, iAlarm, iDoors, iBonnet, iBoot, iObjective;
for(new i; i < MAX_PLAYERS; i++)
{
if(GetPlayerVehicleSeat(i) == 0)
{
new veh = GetVehicleModel(GetPlayerVehicleID(i));
if(veh == 481 || veh == 509 || veh == 510)
{
}
else
{
if(!VehAdmin[GetPlayerVehicleID(i)])
{
GetVehicleParamsEx(GetPlayerVehicleID(i), iEngine, iLights, iAlarm, iDoors, iBonnet, iBoot, iObjective);
if(VehFuel[GetPlayerVehicleID(i)] < 1) SetVehicleParamsEx(GetPlayerVehicleID(i), 0, iLights, iAlarm, iDoors, iBonnet, iBoot, 0);
else
{
if(iEngine == 1)
{
if(VehFuel[GetPlayerVehicleID(i)] > 0)
{
VehFuel[GetPlayerVehicleID(i)]--;
}
}
}
}
}
}
}
return 1;
}
I also checked that MySQL would free data after every select..
Re: Volt-Host CPU usage over 100% -
SKAzini - 28.03.2013
Anyone?
Re: Volt-Host CPU usage over 100% -
Vince - 28.03.2013
Profiler Plugin.
Re: Volt-Host CPU usage over 100% -
milanosie - 28.03.2013
Use the Profiler plugin, read more about it HERE.
Re: Volt-Host CPU usage over 100% -
SKAzini - 28.03.2013
Код:
Failed (/usr/lib/libstdc++.so.6: version `CXXABI_1.3.5' not found (required by plugins/profiler.so))
Server is on Volt-Host which uses Linux.
Mysql, sscanf, fixes2 and incognito's streamer are the loaded plugins.
Re: Volt-Host CPU usage over 100% -
SKAzini - 29.03.2013
Bump
Re: Volt-Host CPU usage over 100% -
SKAzini - 30.03.2013
CPU usage graph:
http://volt-host.com/graph/gs/proc/9418/1.00/24/
It goes up really high at some times and becomes unresponsive.. Da heck?
Re: Volt-Host CPU usage over 100% - HuSs3n - 30.03.2013
try adding IsValidVehicle check in your loop
Re: Volt-Host CPU usage over 100% -
SKAzini - 30.03.2013
I forgot to say that I remade the fuel system to check per player with the negative thing being that it doesn't use any fuel when the vehicle stands still, but that's something I can oversee for performance.. BUT, I still get peak CPU usage for some reason..
pawn Код:
public VehFuelTimer()
{
new iEngine, iLights, iAlarm, iDoors, iBonnet, iBoot, iObjective;
for(new i; i < MAX_PLAYERS; i++)
{
if(GetPlayerVehicleSeat(i) == 0)
{
new veh = GetVehicleModel(GetPlayerVehicleID(i));
if(veh == 481 || veh == 509 || veh == 510)
{
}
else
{
if(!VehAdmin[GetPlayerVehicleID(i)])
{
GetVehicleParamsEx(GetPlayerVehicleID(i), iEngine, iLights, iAlarm, iDoors, iBonnet, iBoot, iObjective);
if(VehFuel[GetPlayerVehicleID(i)] < 1) SetVehicleParamsEx(GetPlayerVehicleID(i), 0, iLights, iAlarm, iDoors, iBonnet, iBoot, 0);
else
{
if(iEngine == 1)
{
if(VehFuel[GetPlayerVehicleID(i)] > 0)
{
VehFuel[GetPlayerVehicleID(i)]--;
}
}
}
}
}
}
}
return 1;
}
Re: Volt-Host CPU usage over 100% -
SKAzini - 30.03.2013
Profiler result on Windows server (real server on Linux):
http://pastebin.com/UX35XuKt
Logging in, spawning a car with unlimited fuel (VehAdmin), driving to a non-admin car which has limited fuel, watching the fuel going down a bit, driving to a refuelling station, driving to a dynamic door, use it in and out, go to the police locker and take out some things, quitting which saves the player to the database.
What is weird is that these peaks comes at random times when no-one is online. Perhaps it's because the server is being hosted on Volt-Host which has more than 1 SA-MP server on each dedicated server?
One and a half hour of CPU being around 20% without peaks so far, let's see how it goes.