Модераторы: Partizan, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Задание размера выделяемой под приложение памяти. 
V
    Опции темы
ivashkanet
Дата 6.10.2006, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Цитата(Naum @  6.10.2006,  10:09 Найти цитируемый пост)
А про ручное управление GC это не так уж страшно, а для unmanaged-ресурсов просто необходимо показать этому GC, как их собирать.

Naum, ты не путай "ручное управление GC" с необходимостью очищать unmanaged ресуры.
Это совершенно разные вещи. 
Первое это влезание в логику работы механизма очистки, а второе это "объяснение" сборщику мусора как правильно работать с вещами, с которыми работать он изначально не умеет smile 
PM MAIL WWW ICQ   Вверх
Naum
Дата 6.10.2006, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 743
Регистрация: 7.9.2005
Где: Саратов, ул. Поса дского, 298

Репутация: 8
Всего: 15



Хорошо, это я понял. Но зачем тогда класс GC, если управлять сборщиком ручками это плохо?


--------------------
У нас всего два праздника Новый год и ТЯПница.
PM MAIL ICQ   Вверх
ivashkanet
Дата 6.10.2006, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Цитата(Naum @  6.10.2006,  10:20 Найти цитируемый пост)
 Но зачем тогда класс GC, если управлять сборщиком ручками это плохо?

Чтобы была возможность (в исключительных случаях) произвести сборку вручную.

Например инициализация приложения требует очень больших ресурсов, но проводится она всего лишь раз в день (например). После инициализации эти ресурсы не нужны. Можно, конечно, оставить эти ресурсы до сборки мусора, но ты не хочешь, чтобы твой "трэй монитор" занимал 200М, не нужной ему сейчас, памяти. Вот ты и очищаешь ее.

Т.е. главное правило --- не злоупотребляй  smile 
PM MAIL WWW ICQ   Вверх
Naum
Дата 6.10.2006, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 743
Регистрация: 7.9.2005
Где: Саратов, ул. Поса дского, 298

Репутация: 8
Всего: 15



А этот случай
Цитата(Naum @  5.10.2006,  14:17 Найти цитируемый пост)
очень маленькое, но долго выполняющееся приложение

можно считать исключительным?

Добавлено @ 10:42 
Имеется ввиду не сервис, а Windows Forms или консольное приложение.


--------------------
У нас всего два праздника Новый год и ТЯПница.
PM MAIL ICQ   Вверх
mr.DUDA
Дата 6.10.2006, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Цитата(Naum @  6.10.2006,  10:41 Найти цитируемый пост)
А этот случай

Цитата(Naum @  5.10.2006,  14:17 )
очень маленькое, но долго выполняющееся приложение

можно считать исключительным?

При отсутствии утечек памяти, приложение не будет есть больше определённого предела.


--------------------
user posted image
PM MAIL WWW   Вверх
Naum
Дата 6.10.2006, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 743
Регистрация: 7.9.2005
Где: Саратов, ул. Поса дского, 298

Репутация: 8
Всего: 15



Цитата(mr.DUDA @  6.10.2006,  11:47 Найти цитируемый пост)
не будет есть больше определённого предела

Вот именно это я и хотел узнать - больше определенного чем или кем предела оно не будет есть?



--------------------
У нас всего два праздника Новый год и ТЯПница.
PM MAIL ICQ   Вверх
mr.DUDA
Дата 6.10.2006, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Цитата(Naum @  6.10.2006,  10:52 Найти цитируемый пост)
Вот именно это я и хотел узнать - больше определенного чем или кем предела оно не будет есть?

Зависит от того, сколько объектов создаёшь и как часто.


--------------------
user posted image
PM MAIL WWW   Вверх
Naum
Дата 7.10.2006, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 743
Регистрация: 7.9.2005
Где: Саратов, ул. Поса дского, 298

Репутация: 8
Всего: 15



И еще интересно, почему не будет есть? Получаица, сборщик мусора собирает мусор не только в те моменты, когда для новых объектов уже не хватает памяти?


--------------------
У нас всего два праздника Новый год и ТЯПница.
PM MAIL ICQ   Вверх
Naum
Дата 9.10.2006, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 743
Регистрация: 7.9.2005
Где: Саратов, ул. Поса дского, 298

Репутация: 8
Всего: 15



А я нашел кое-что интересное от ИвашкиНет..  smile . Размер не главное. Главное, что из написанного в этом топике ясно, что сборка мусора начинается не в то время, когда памяти уже не хватает совсем, а в то время, когда превышен какой-то барьер.
Хоть ответ и не в этом топике, все равно ИвашкиНет +1.


--------------------
У нас всего два праздника Новый год и ТЯПница.
PM MAIL ICQ   Вверх
ivashkanet
Дата 9.10.2006, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Naum, так то ж не мне smile
Я просто к тому посту успел прочитать статью по ссылку Void-а. Вот и ответил.
P.S. Ссылка на статью назодится в том же топике  smile 
PM MAIL WWW ICQ   Вверх
Naum
Дата 23.10.2006, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 743
Регистрация: 7.9.2005
Где: Саратов, ул. Поса дского, 298

Репутация: 8
Всего: 15



Цитата(Naum @  4.10.2006,  16:01 Найти цитируемый пост)
Собственно вопрос: Как задать максимальный размер выделяемой под приложение памяти?
Помню, че-то такое было, но даже приблизительно не помню че.


Вспомнил. ИМХО, это не то, что мне надо, но просто так, если кому инетересно.

Цитата(MSDN)

Process.MaxWorkingSet - свойство

Значение свойства
Максимальный размер рабочего множества, доступного в памяти для процесса.

Примечания
Рабочее множество программы — это коллекция тех страниц в виртуальном адресном пространстве программы, на которые осуществлялась ссылка.

Рабочее множество включает общие и закрытые данные. Общие данные включают страницы, которые содержат все инструкции в выполняемом приложении, включая страницы в системных и пользовательских dll-файлах. При увеличении рабочего множества увеличиваются и запросы памяти.

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

Система задает размеры рабочего множества по умолчанию. Нельзя изменять эти размеры, используя члены MaxWorkingSet и MinWorkingSet. Однако задание этих значений не гарантирует, что память будет зарезервированной или находящейся в оперативной памяти.

Примечание.   Следует внимательно запрашивать слишком большие минимальные и максимальные размеры рабочего множества, так как производительность системы может ухудшиться.



--------------------
У нас всего два праздника Новый год и ТЯПница.
PM MAIL ICQ   Вверх
Gazon
Дата 28.10.2006, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

Репутация: 3
Всего: 8



Naum,
Для управления рабочем множеством используется API функция SetProcessWorkingSetSize(находится в библиотеке kernel32), которая принимает хэндл процесса, минимальный и максимальный рамер рабочего множества.
Если же в качестве минимального и максимального размера передать -1, то рабочее множетсво минимизиируется до фактического размера выделенной памяти.
Не думаю, что стоит вызывать эту функцию для увеличения рабочего множества т.к. среда это делает сама с большой охотой и в основном к этой функции прибегают для уменьшения рабочего множетсва.

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

--------------------
Чем больше узнаешь, тем больше не знаешь, но до истины всегда можно добраться.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




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


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

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