Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Управление памятью для программ 
:(
    Опции темы
GekaP404
Дата 13.3.2012, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 26.9.2006

Репутация: нет
Всего: 1



Постановка задачи:
Необходимо ограничить выделяемую память для какого-нибудь приложения. Ну к примеру необходимо чтобы на "%name"интернет браузер выделялось не более 150мб памяти.

Собственно нужен Ваш совет. 
Какую литературу можно почитать ?,  есть ли такая реализация ? если есть можете скинуть программный код.
PM MAIL   Вверх
xvr
Дата 13.3.2012, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 40
Всего: 223



Вот эта штука вроде умеет

PM MAIL   Вверх
GekaP404
Дата 13.3.2012, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 26.9.2006

Репутация: нет
Всего: 1



эта штука умеет, а вот был бы код и возможность внесения своих изменений)))
Собственно вот, что выяснил сегодня, но не разобрался. Функция SetProcessWorkingSetSize. Может кто работал с ним ? и поможет разодраться.

PM MAIL   Вверх
xvr
Дата 13.3.2012, 22:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 40
Всего: 223



Цитата(GekaP404 @  13.3.2012,  21:03 Найти цитируемый пост)
 Функция SetProcessWorkingSetSize.

Это не то. Эта функция ограничит количество физической памяти, которую сможет использовать процесс, но не ограничит количество виртуальной памяти. Т.е. процесс все равно сможет заказать больше памяти, чем установленно через SetProcessWorkingSetSize, и при попытке ее использовать у процесса пойдет трешинг в своп (что закончится глобальным замедлением всей системы)

PM MAIL   Вверх
GremlinProg
Дата 14.3.2012, 06:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2706
Регистрация: 9.8.2005
Где: Тюмень

Репутация: 99
Всего: 106



Цитата(GekaP404 @  13.3.2012,  14:31 Найти цитируемый пост)
Необходимо ограничить выделяемую память для какого-нибудь приложения. Ну к примеру необходимо чтобы на "%name"интернет браузер выделялось не более 150мб памяти.

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

процесс должен в таком случае иметь по крайней мере стратегию, которая предусматривает такое ограничение,
иначе он просто будет тупо падать при "упирании головой в твой потолок"


--------------------
"Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины."
PM WWW ICQ   Вверх
GekaP404
Дата 19.3.2012, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 26.9.2006

Репутация: нет
Всего: 1



Цитата(GremlinProg @  14.3.2012,  06:29 Найти цитируемый пост)
даже если ты ограничишь память на процесс, это не означает, что процесс сможет комфортно работать с тем, что ты ему оставил,

процесс должен в таком случае иметь по крайней мере стратегию, которая предусматривает такое ограничение,
иначе он просто будет тупо падать при "упирании головой в твой потолок" 


Спасибо xvr и GremlinProg за ответы!!! 
Кстати а как программы справляется когда само по себе мало физической памяти?


А вообще возможно как-то ограничить чего-нибудь, что бы на важные процессы выделялось больше памяти(машинного времени идр)т.е. не тратилось на пустое, и не необходимое.

Это сообщение отредактировал(а) GekaP404 - 19.3.2012, 22:03
PM MAIL   Вверх
GremlinProg
Дата 20.3.2012, 07:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2706
Регистрация: 9.8.2005
Где: Тюмень

Репутация: 99
Всего: 106



Цитата(GekaP404 @  20.3.2012,  00:01 Найти цитируемый пост)
а как программы справляется когда само по себе мало физической памяти?

активно используют своп-файл (файл подкачки),
вобщем - вместо быстрой физической используют медленную (как правило) дисковую память

если дисковой мало - просто падают  smile  (или включают уже свои интеллектуальные механихмусы, если таковые имеются, ограничивающие расход ресурсов)
Цитата(GekaP404 @  20.3.2012,  00:01 Найти цитируемый пост)
А вообще возможно как-то ограничить чего-нибудь, что бы на важные процессы выделялось больше памяти(машинного времени идр)т.е. не тратилось на пустое, и не необходимое.

приоритет процесса, потока?


--------------------
"Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины."
PM WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0725 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.