Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
133 / 85 / 22
Регистрация: 28.08.2009
Сообщений: 363
1

когда есть смысл вручную вызывать Garbage collector

03.06.2011, 09:33. Просмотров 3207. Ответов 3
Метки нет (Все метки)


когда есть смысл вручную вызывать Garbage collector?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.06.2011, 09:33
Ответы с готовыми решениями:

CLR и Garbage Collector
всем доброго времени суток! Если не вызывать GC.Collect() то среда CLR автоматически убирает...

Garbage collector
как можно просимулировать Garbage collector (написать программу в C#) ?

Создать ссылку на делегат, чтобы Garbage Collector его не уничтожал
Использую неуправляемый и управляемый код. И вот через некоторое время дебаггинга програма...

Кто может кратко объясните как работает Garbage Collector?
кто может кратко объясните как работает Garbage Collector?

3
Эксперт С++
2334 / 1707 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
03.06.2011, 09:45 2
Runa, вот что по этому поводу говорит Джон Скит:
Цитата Сообщение от Jon Skeet
If you have good reason to believe that a significant set of objects - particularly those you suspect to be in generations 1 and 2 - are now eligible for garbage collection, and that now would be an appropriate time to collect in terms of the small performance hit.

A good example of this is if you've just closed a large form. You know that all the UI controls can now be garbage collected, and a very short pause as the form is closed probably won't be noticeable to the user.
1
1265 / 966 / 113
Регистрация: 12.01.2010
Сообщений: 1,971
03.06.2011, 11:16 3
сборщик глуп и ленив, лучше вместо него вызвать вот эту штуку

Забивается оперативная память
0
142 / 142 / 26
Регистрация: 09.10.2009
Сообщений: 261
03.06.2011, 16:05 4
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от m0nax Посмотреть сообщение
сборщик глуп и ленив, лучше вместо него вызвать вот эту штуку

Забивается оперативная память
SetProcessWorkingSetSize в данном случае заставляет нас жертвовать производительностью ради временной "очистки" десятка (к примеру) Мб ОЗУ. Хотя, смотря у кого какие приоритеты.
П.С. Разъяснения:
About SetProcessWorkingSetSize
This function will just trim the workingset of your application by writing the memory in RAM to the page file. Nothing is released back to Windows.

In fact you only have made accessing the memory again slower, since it now has to be read from disc. This method has the same effect as minimising your application. Then Windows presumes you are not going to use the application again soon and also writes the workingset in RAM to the pagefile. Windows does a good job of deciding when to write RAM to the pagefile and tries to keep the most used memory in RAM as long as it can. It will make the workinset size smaller (write to pagefile) when there is little RAM left. I would not mess with it just to give the illusion that you program is using less memory while in fact it is using just as much as before, only now it is slower to access. Memory that is accessed again will be loaded into RAM again and make the workinset size grow again. Touching less memory keeps the workingset size smaller.
You're NOT freeing memory. You're offloading it to disk. There's no need to do that: OS will offload your pages to disc automatically when some other app needs memory. You're just making things worse because if you try to access this memory (for instance, by creating an object) and it's on the disk, you'll have to read it back now.


По теме ТС'a, в статье ниже можно найти интересующий вас ответ:
Garbage Collection and .Net Programming
3
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.06.2011, 16:05

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

Режимы Garbage Collector
Добрый день. Че-т не могу найти ответы на эти вопросы :) Какие есть режимы GC и как указать JVM...

Посмотреть какой Garbage Collector выбран по умолчанию
Как узнать какой Garbage Collector выбран по умолчанию ? В командную строку пишу: java...

Как сделать, чтобы garbage collector быстрее проходил?
как сделать, чтобы garbage collector быстрее проходил? Если возможно на примере :)

Есть ли смысл устанавливать третью плашку, когда есть две, работающие в двух каналах?
День добрый! Можно ли расширять память третей плашкой ОП, если уже установлены две, работающие в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.