It isn't the case that there's a "regular core" and a "HT core" when
hyperthreading is enabled -- that's not how it works. Instead, each
physical core is split into two virtual cores that have equal footing.
If you use only one of those two cores (it doesn't matter which one),
then you achieve the same performance as if you hyperthreading were
disabled. If you use both of them, then they share the resources of the
physical core, ending up with slightly higher performance than if the
same processes were run on a single physical core with hyperthreading
disabled.
Modern OSes (including Windows) recognize the way that hyperthreading
works and will not put two intensive processes on the same physical core
unless the system is heavily loaded. If the system is heavily loaded,
that's when you'll be happy to have hyperthreading enabled, because you
can squeeze out just a bit of extra performance.
So:
- Don't disable hyperthreading on a modern CPU and modern OS, as you'll
see lower performance.
- Don't try to set your own affinities for processes, because each
process may have more than one thread -- that you want to be on
different cores -- and because the OS generally does a very good job of
balancing them (and factoring in hyperthreading).
(Old-style P4 SMT worked differently, but there isn't too much sense in
addressing that, since nobody should be running anything that old with
CS:GO!)
-John
On 2/17/2015 1:54 PM, ics wrote:
While SRCDS these days is somewhat multithreaded, it is best to keep
HT OFF. The main process, the core one, if that goes to the HT core,
it will not run as good (lags) as on regular core. Also when the main
process peaks at 100% cpu, it's game over and lag spikes occur, even
on regular core.
So if you have weak CPU, and you overload it thinking "i have 4 cores,
i can run 50 slots 128tick CSGO", then you're out of luck because the
main process will hit the 100% and the other cores do not help in that
case. I'm not sure what is running on other processes but i assume
particle system or physics calculation.
-ics
Daniel Barreiro kirjoitti:
Possibly. As far as I know, HT no longer causes problems with SRCDS,
but I could be wrong.
If you want to play with some cvars:
host_speeds : 0 : ,
"launcher" : Show general system running times.
host_thread_mode : 1 : ,
"launcher" : Run the host in threaded mode, (0 == off, 1 == if
multicore, 2 == force)
host_threaded_sound : 0 : ,
"launcher" : Run the sound on a thread (independent of mix)
host_threaded_sound_simplethread : 0 : ,
"launcher" : Run the sound on a simple thread not a jobthread
host_timer_report : cmd : : Spew
CPU timer jitter for the last 128 frames in microseconds (dedicated
only)
Most of these are hidden so you'll need to use sourcemod to change
them. Not sure if the sound ones apply (doubt it) but they're there.
Some other cvars to play with:
net_queued_packet_thread : 1 : ,
"launcher" : Use a high priority thread to send queued packets
out instead of sending them each frame.
net_threaded_socket_burst_cap : 256 : : Max
number of packets per burst beyond which threaded socket pump
algorithm will start dropping packets.
net_threaded_socket_recovery_rate : 6400 : :
Number of packets per second that threaded socket pump algorithm
allows from client.
net_threaded_socket_recovery_time : 60 : : Number
of seconds over which the threaded socket pump algorithm will fully
recover client ratelimit.
sv_threaded_init : 0 : , "sv",
"launcher" :
threadpool_cycle_reserve : cmd : : Cycles
threadpool reservation by powers of 2
threadpool_reserve : 0 : ,
"launcher" : Consume the specified number of threads in the
thread pool
threadpool_run_tests : cmd : :
cl_clockdrift_max_ms : 150 : , "cheat"
: Maximum number of milliseconds the clock is allowed to drift
before the client snaps its clock to the server's.
cl_clockdrift_max_ms_threadmode : 0 : , "cheat"
: Maximum number of milliseconds the clock is allowed to drift
before the client snaps its clock to the server's.
Most of these are tweaked and then hidden for a reason, so if you do
adjust them expect instability/potential worse performance.
Here's a full list of server cvars + the hidden ones. I did my best
to remove any plugin cvars but there may be a few I missed.
http://pastebin.com/mnj7GXUF
On Tue, Feb 17, 2015 at 4:05 PM, Ejziponken - <[email protected]
<mailto:[email protected]>> wrote:
And if the CSGO servers are using multithreading, should HT then
be ON for best performance?
------------------------------------------------------------------------
Date: Tue, 17 Feb 2015 16:01:26 -0500
From: [email protected]
<mailto:[email protected]>
To: [email protected]
<mailto:[email protected]>
Subject: Re: [Csgo_servers] cpu usage
What are the specs of the server? Graph isn't very helpful without
the full details which are lost in another thread.
On Tue, Feb 17, 2015 at 3:58 PM, Kevin C <[email protected]
<mailto:[email protected]>> wrote:
Starting a new thread because the other one got too big.
To simplify this, here is a CPU usage graph for the #1 CS:GO
server. 64 slot @ 64 tick:
http://i.gflclan.com/Screenshot_02-17-15-15-57-08.png
_______________________________________________
Csgo_servers mailing list
[email protected]
<mailto:[email protected]>
https://list.valvesoftware.com/cgi-bin/mailman/listinfo/csgo_servers
_______________________________________________ Csgo_servers
mailing list [email protected]
<mailto:[email protected]>
https://list.valvesoftware.com/cgi-bin/mailman/listinfo/csgo_servers
_______________________________________________
Csgo_servers mailing list
[email protected]
<mailto:[email protected]>
https://list.valvesoftware.com/cgi-bin/mailman/listinfo/csgo_servers
_______________________________________________
Csgo_servers mailing list
[email protected]
https://list.valvesoftware.com/cgi-bin/mailman/listinfo/csgo_servers
_______________________________________________
Csgo_servers mailing list
[email protected]
https://list.valvesoftware.com/cgi-bin/mailman/listinfo/csgo_servers
_______________________________________________
Csgo_servers mailing list
[email protected]
https://list.valvesoftware.com/cgi-bin/mailman/listinfo/csgo_servers