![]() |
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]() ![]() ![]() |
|
drdeath |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 12.7.2009 Репутация: нет Всего: нет |
лимитировать или хотя-бы определить сколько памяти использует приложение интересует как линукс так и windows
|
|||
|
||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
какой именно памяти? физическую можно "ограничить" с помощью SetProcessWorkingSetSize в кавычках потому, что этот лимит спокойно можно обойти, используя AWE API а вот виртуальную, в принципе не ограничить, каждый процесс может потреблять все адресное пространство (32- или 64-битное), можно только определить, сколько виртуальной памяти можно выделить, не расширяя файла подкачки - GetPerformanceInfo:
т.е. любой вызов VirtualXXX сразу влияет на эту характеристику в процессе хотя ни кто не мешает просто заранее отрезать кусок памяти, нужного объема, который не должен использоваться, но это глупо )), лимит будет формальным посмотреть текущий уровень загрузки памяти всех видов можно с помощью GlobalMemoryStatus/Ex ps: все это касаемо windows -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
Vaulter |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1724 Регистрация: 30.12.2002 Где: бункер Репутация: нет Всего: 22 |
как определить:
как ограничить - глубоко уверен, что это задача не самой программы, а администратора системы есть квоты на память пользовательских процессов. |
|||
|
||||
dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 27 Всего: 158 |
||||
|
||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
да, dumb, с жобами гораздо интереснее,
только, как я понимаю, это только мониторинг, а не лимитирование, не так ли? -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 27 Всего: 158 |
не, там именно квотирование - если лимит исчерпан, то следующие попытки выделения памяти завершатся ошибкой.
с учетом того, как нонче пишут программы, это практически 100% обрушение процесса. ![]() |
|||
|
||||
GremlinProg |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
это был мой следующий вопрос )) какой статус будет поднят при исключении? STATUS_NO_MEMORY или что-то свое, типа ERROR_NOT_ENOUGH_QUOTA? кстати, это лимитирование именно виртуальных ресурсов (в состоянии commited):
кто пробовал (или собирается), отпишитесь, думаю интересно будет всем -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "C/C++: Системное программирование и WinAPI" | |
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |