Quote:
Originally Posted by Martos777
[You must be logged in to view images. Log in or Register.]
|
1-3 would get you CPU 1, CPU 2, and CPU 3. A small amount of overkill, but that will work.
My system has CPUs 0 - 7. Each 'pair' (0,1), (2,3), (4,5), (6,7) is a physical core, because Intel's Hyperthreading is basically using one CPU and 'splitting' it when it can. This is not perfect, and there are times where one CPU will stall the other out because they both want to do the same operation.
HT came out long after EQ did. So my taskset arguments are to assign EQ to one physical core (the 2,3 pair) instead of one virtual core (where 2 can be 'interrupted' by the OS putting a task on 3).
From Wikipedia:
Quote:
In addition to requiring simultaneous multithreading (SMT) support in the operating system, hyper-threading can be properly utilized only with an operating system specifically optimized for it.[5] Furthermore, Intel recommends HTT to be disabled when using operating systems unaware of this hardware feature.
|
While EQ isn't an 'operating system' it was written before HT was a thing. HT came out with P4's and I was running EQ on a P2. That's why I tell taskset to give it the pair - and since EQ is a CPU hog, the OS doesn't try to schedule anything else on that one.