world.cpu in HU2 (~100 players) is somewhat steadily reporting over 100%, and BE (~35 players) actually seems to be too lately - even though they were both designed and tested to use very little - and up until recently haven't really been a problem.
They do however come with the lag to match, so world.cpu may be correct. However, the server's processor is getting nowhere near being maxed out. Not even a single core.
http://www.angelfire.com/hero/straygames/ByondBugs/ Hu2Cpu.png
Also to note, mob/Stat() is pretty much the highest use of CPU, and all its doing is displaying simple text to players.
HU1, on the other hand, which is usually a CPU hog, though I have done a lot of revisions to lower it, is currently using 0% CPU, with ~30 players online. But it appears to recently had a crash, and has only been online for about 30 minutes.
I'm wondering if there is anything internal in BYOND that could be causing such problems. Especially such problems after extended periods of up time. Since a restart seems to help with this.
EDIT: I just put 470 back on the server, we'll see how things go there.
EDIT 2: Didn't seem to make a difference. Might go back further.
EDIT 3: v469 seems to have resolved the issue, at least early on.
ID:132517
Aug 14 2010, 8:24 am (Edited on Aug 16 2010, 2:51 pm)
|
|
Aug 14 2010, 7:41 pm
|
|
I'm somewhat sure BYOND sleeps 0.1 second, then calculates/renders next frame, so if that action won't take 0 seconds, it's already lag, basically it should be working instead of sleeping those 0.1 =/
|
In response to Ripiz
|
|
Ripiz wrote:
I'm somewhat sure BYOND sleeps 0.1 second, then calculates/renders next frame, so if that action won't take 0 seconds, it's already lag, basically it should be working instead of sleeping those 0.1 =/ No. |
In response to Garthor
|
|
There's little proof I can give. Lets say I have single core CPU and none of running processes use it.
I say, that BYOND sleeps 0.1 and only then renders. It sleeps 0.1 seconds, then renders frame in 0.05, world CPU would report 50%, but task manager only 5%. You say it doesn't sleep, but just renders, right? Renders frame in 0.05 seconds, world CPU still reports 50% (now wtf, it must render in 0.1, rendered faster than 0.1 but it still reports it took longer? doesn't make sense) If it would fully utilize single core, world.cpu would be 0 until core (according to task manager) has 100% usage. And only THEN when it program requests more than CPU can handle, frame will take longer. |
In response to Ripiz
|
|
You need to open up the Reference and read what world.cpu is.
|
In response to Garthor
|
|
This is the percentage of a server tick that the server spends processing running procs. A value of 0 would indicate very little cpu usage. A value of 100 would indicate full cpu usage, which could mean that the server cannot complete all the necessary computations during a tick to finish in time for the next tick.
Then why it lags at 50%? It still has plenty time left. |
In response to Ripiz
|
|
Because not every tick is the same.
|