powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Реализация ограничения использования ресурсов системы
17 сообщений из 17, страница 1 из 1
Реализация ограничения использования ресурсов системы
    #39805913
_Промешан_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно организовать ограничение использования ресурсов системы на многопроцессорном железе.
Может кто сталкивался с таким? Есть статьи на эту тему?

ОС Windows Server.

Главная задача - недопустить полной загрузки ЦП, чтобы был доступ к ресурсам системы и даже к самому приложению (в частности управление по сети)
...
Рейтинг: 0 / 0
Реализация ограничения использования ресурсов системы
    #39805916
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SetProcessAffinityMask() тебе в руки.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Реализация ограничения использования ресурсов системы
    #39805925
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И приоритет низкий выставить.
...
Рейтинг: 0 / 0
Реализация ограничения использования ресурсов системы
    #39805929
Michael Longneck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Реализация ограничения использования ресурсов системы
    #39805931
d7i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
------------------------------------------------------------------
Количество процессоров
------------------------------------------------------------------
SYSTEM_INFO siSysInfo;
int NumberOfProcessors;
GetSystemInfo(&siSysInfo);
NumberOfProcessors = siSysInfo.dwNumberOfProcessors;
------------------------------------------------------------------
Как указать задаче на каком процессоре работать
------------------------------------------------------------------
SetThreadAffinityMask(GetCurrentThread(),numProcessor);

numProcessor - номер процессора (ядра). Если в системе 2 ядра, указание
числа 3 приводит к ~70% загрузке первого ядра и ~30% второго;
указание 4 - к 70% загрузке второго ядра и ~30% первого (только
по текущей задаче).
...
Рейтинг: 0 / 0
Реализация ограничения использования ресурсов системы
    #39806170
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
d7iЕсли в системе 2 ядра, указание
числа 3 приводит к ~70% загрузке первого ядра и ~30% второго;

Это плохой знак. Что-то не так в логике твоей многопоточности.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Реализация ограничения использования ресурсов системы
    #39806220
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
d7i,

авторКак указать задаче на каком процессоре работать

Как правило, лучше всего справляется с раскладкой потоков по процессорам сама система. Очень мало шансов что ты сделаешь это лучше неё. Обычно можно контролировать число потоков, которые создаёт твоя программа. Смотри на загрузку цпу своей программой и корректируй число (одинаковых) потоков. Я бы делал так.
...
Рейтинг: 0 / 0
Реализация ограничения использования ресурсов системы
    #39806230
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и приоритеты не стоит забывать. до какой-то степени помогают.
...
Рейтинг: 0 / 0
Реализация ограничения использования ресурсов системы
    #39806358
d7i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaond7i,

авторКак указать задаче на каком процессоре работать

Как правило, лучше всего справляется с раскладкой потоков по процессорам сама система. Очень мало шансов что ты сделаешь это лучше неё. Обычно можно контролировать число потоков, которые создаёт твоя программа. Смотри на загрузку цпу своей программой и корректируй число (одинаковых) потоков. Я бы делал так.

Согласен.
Однако, был вопрос, как явно указать на каком процессоре (ядре) работать, что я и сделал.
Кстати, там в параметрах не числовой номер ядра, а битовая маска (с 0). Об этом не следует забывать.
...
Рейтинг: 0 / 0
Реализация ограничения использования ресурсов системы
    #39806464
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
d7i,

да, так и есть. можно программу привязать либо в к одному либо к нескольким ядрам.
...
Рейтинг: 0 / 0
Реализация ограничения использования ресурсов системы
    #39806466
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
makhaonможно программу привязать либо в к одному либо к нескольким ядрам.

Между привязкой процесса и привязкой потока есть некоторая разница, которая может вылезти
неожиданным боком, выглядящим как раз как "одно ядро загружено на Х процентов, а второе на
100-Х", что свидетельствует о том, что многопоточность в данном случае не имеет смысла от
слова "вообще".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Реализация ограничения использования ресурсов системы
    #39806551
shonli95
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

Видел движки stalker которые реализует многоядерность, которая не приносит ни грамма fps. Хотя нагрузка на ядра поровну

Так что жирный Плюс. Фейковая многоядерность, это ещё не значит что она есть
...
Рейтинг: 0 / 0
Реализация ограничения использования ресурсов системы
    #39806614
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shonli95,
мерять нужно. у меня обычно получается 5-6х по скорости при равномерной загрузке 8ми ядер (i7)
...
Рейтинг: 0 / 0
Реализация ограничения использования ресурсов системы
    #39806627
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Промешан_Нужно организовать ограничение использования ресурсов системы на многопроцессорном железе.
Может кто сталкивался с таким? Есть статьи на эту тему?

ОС Windows Server.
Главная задача - недопустить полной загрузки ЦП, чтобы был доступ к ресурсам системы и даже к самому приложению (в частности управление по сети)

На мой взгляд, выбранные средства не соответствуют целям.
Если приложение использует все ресурсы проца, значит ему это нужно. Если это не задача реального времени, достаточно просто установить приложению низкий приоритет, чтобы более критичные по времени задачи выполнялись в первую очередь.
Ну кванты можно сделать покороче, если требуется очень оперативное вмешательство.
...
Рейтинг: 0 / 0
Реализация ограничения использования ресурсов системы
    #39806814
_Промешан_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakovd7iЕсли в системе 2 ядра, указание
числа 3 приводит к ~70% загрузке первого ядра и ~30% второго;

Это плохой знак. Что-то не так в логике твоей многопоточности.

По счастью это не моя логика. Есть легаси код, который вызывает подобные проблемы. Моя задача состоит в том, чтобы
а) исследовать возможные пути решения легаси кода
б) При реализации системы уметь управлять многопоточностью на основе исопльзования ресурсов
в) в случае загрузки ЦПУ оставлять место для маневра и подключения как к серверу, так и к самой системе для управления. Нужно что-то вроде "админского-коннекта к бд" (не имеется в виду реализация базы данных, только аналогия оттуда).
...
Рейтинг: 0 / 0
Реализация ограничения использования ресурсов системы
    #39806820
_Промешан_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Соколинский Борис_Промешан_Нужно организовать ограничение использования ресурсов системы на многопроцессорном железе.
Может кто сталкивался с таким? Есть статьи на эту тему?

ОС Windows Server.
Главная задача - недопустить полной загрузки ЦП, чтобы был доступ к ресурсам системы и даже к самому приложению (в частности управление по сети)

На мой взгляд, выбранные средства не соответствуют целям.
Если приложение использует все ресурсы проца, значит ему это нужно. Если это не задача реального времени, достаточно просто установить приложению низкий приоритет, чтобы более критичные по времени задачи выполнялись в первую очередь.
Ну кванты можно сделать покороче, если требуется очень оперативное вмешательство.
На самом деле вы отчасти правы.

Действительно некоторые задачи приложения сам по себе критичный для выполнения. Но не все.
Низкий приоритет - это один из способов. Но проблема заключается в том, что легаси код вызывает тупо загрузку ЦП. И это не связано с полезной нагрузкой. Это понятно потому, что нет абсолютно никакой картины происходящего. Нет абсолютно никакого понимания, почему это происходит. Те же самые задачи, которые приводят к загрузке ЦП, в другое время - выполняются за секунды.
...
Рейтинг: 0 / 0
Реализация ограничения использования ресурсов системы
    #39806884
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пробуй отладку. локальную, если получается повторить у себя загрузку, или удалённо. остальное тут больше как костыли имхо.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Реализация ограничения использования ресурсов системы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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