powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Не получается загрузить процессор на 100%.
3 сообщений из 3, страница 1 из 1
Не получается загрузить процессор на 100%.
    #37723135
diary3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Среда: .NET Framework 4
Процессоры: Intel 4-х ядерный и AMD 8-и ядерный.
Приложение создаёт около 80 потоков с разными приоритетами. Потоки время от времени засыпают, просыпаются, меняют себе приоритеты, но всегда активных - более десятка.

На Intel-е загрузка процессора 97%-100%.
На AMD - 70%. (Турбокоры вкл/откл - нет разницы)

Делаю такой финт:
Код: c#
1.
2.
Process.GetCurrentProcess().ProcessorAffinity = (IntPtr)0x80;
Process.GetCurrentProcess().ProcessorAffinity = (IntPtr)0xFF;


загрузка увеличивается до 100%.

Что бы это значило? Вроде такого быть не должно.
Подскажите, пожалуйста, где копать.
...
Рейтинг: 0 / 0
Не получается загрузить процессор на 100%.
    #37723378
Фотография Ken@t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
diary3,

Ни разу не могу понять, чего вы хотите.
Присвоение Thread.ProcessorAffinity - указание на каком ядре будет выполняться этот поток.
ProcessorAffinity = (IntPtr)0x80 - 4 ое ядро
ProcessorAffinity = (IntPtr)0xFF - а вот эт охрень какая то , ибо


А чем вы замеряли нагрузку, надеюсь не в таск менеджере ?
...
Рейтинг: 0 / 0
Не получается загрузить процессор на 100%.
    #37723588
diary3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ken@t,

Хочу загрузить AMD-шный процессор "по полной". Но не получается без хитростей.

Process.GetCurrentProcess().ProcessorAffinity = (IntPtr)0x80; - совсем не 4-е, а только восьмое ядро.
Process.GetCurrentProcess().ProcessorAffinity = (IntPtr)0xFF; - не хрень, а восемь ядер вместе.

Загрузку меряю по разному, но из самого приложения так:
Код: c#
1.
System.Diagnostics.PerformanceCounter("Процессор", "% загруженности процессора", "_Total", "Cluster3_Node02");



В общем, потоки стартуют все, но процессор не нагружают. Всё тихо и спокойно.
Только "передёргиваешь" приложение на одно (всё равно какое) ядро, а потом сразу же снова на все ядра - сразу загрузка вырастает до 100%, температура процессора начинает расти, начинают крутиться вентиляторы.

Теперь, чего я хочу - хочу чтоб загрузка была всегда на 100% без "передёргивания" приложения. Потому что, ИМХО, "бегать по ядрам" не красиво.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Не получается загрузить процессор на 100%.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]