Для начала привожу конфиг:
Процессор: Core 2 Quad Q9550
Мат. Плата: Gigabyte EP43-DS3L
Память: 2х2Gb Hynix HYMP125U64CP8-S5
ОС: Windows XP SP2
Имеются 4 HLDS Non-steam сервера
Проблема заключается в следующем: после запуска все серваки дружно начинают нагружать одно ядро (почему-то четвертое, CPU 3). В этом случае иногда загрузка одного ядра доходит до максимума, соответственно на серверах наблюдается падение fps и повышение пинга соответственно. Конечно в таком случае надо распределить нагрузку, раскидать серваки хотя бы по 2 на ядро... Но никак не получается правильно задать соответствие ни одному из процессов hlds.exe к какому либо ядру процессора! На какое ядро соответствие ни ставлю(хоть через стандартный диспетчер задач, хоть через прогу Process Explorer), нагружается всегда только одно ядро! Это видно как и в диспетчере задач так и в Process Explorer. Картина все время примерно одна и та же:

Что перепробовал, не помогло:
Различные non-steam патчи на сервере.
Различные способы запуска (через проги HLReanimator, ServerChecker, через скрипт перезапуска).
Устанавливал сервера как сервисы винды через FireDaemon (в котором также есть возможность задать соответствие).
Пробовал также в скрипте запуска использовать утилиту Imagecfg.
Различные методы увеличения fps (Booster различных версий, ALXlowping)
Различные программы для задания приоритетов и соответствий (Process Explorer, CPU-Control, Prifinity, Set Affinity). Все программы ставят и показывают соответствие как надо и в то же время распределение нагрузки от этого совершенно не меняется.
Со множеством других приложений на этом же компе подобная проблема никак не проявляется. Проверял несколько весьма ресурсоемких игр, а также программ 3D моделирования. Все нормально, как задаю соответствие процессу, так и нагружаются соответствующие ядра.
Если знаете как решить данную проблему, помогите пожалуйста!