Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.143.168.172] |
|
Сообщ.
#1
,
|
|
|
Здраствуйте... Пишу на C# недавно, тут случайно заметил что прога моя жрет 40Мб памяти...Причем при открытии закрытии отчетов, размер занимаемой памяти увеличивается... В проге использую Crystal Report'ы и кучу sqlDataAdapter, sqlConnection, DataSet'ов. Столько и должно памяти расходоваться?
Заметил что даже формочка с кнопкой около 8Мб занимает... |
Сообщ.
#2
,
|
|
|
Это нормально. Поищи по форуму - много подобных тем было, почитай MSDN про принципы работы GC в .NET. В общем случае схема такова, пока памяти остаются достатоно, GC не будет собирать мусор, т.е. прога займёт всю доступную память (если сможет). Практически все проги останавливаются на 80-150M. Не парься по этому поводу. Я очень тяжелое .NET приложение запускал на P166 с 32M RAM - и ничего, работала нормально, занимала "всего" 34M.
|
Сообщ.
#3
,
|
|
|
andrey прав, в большинстве случаев не надо париться по этому поводу.
У каждого процесса есть рабочее множество, оно "резервирует" для процесса определенное кол-во памяти, которое может использовать только этот процесс, но это не значит, что вся зарезервированная память этим процессом используется. Если какому то приложению будет не хватать памяти, то ОС ограничит у вашего приложения ту зарезервированную память, которая свободна, поэтому вам беспокоиться не надо. Реально приложение занимает меньше памяти. Кстати, рабочее множество автоматически сводится к минимуму при сворачивании формы. Или рабочее множество можно минимизировать при помомощи API ф-ии SetProcessWorkingSetSize(hProcee, -1, -1); Но при этом, когда приложению потребуется больше памяти, и рабочее множество установлено в минимум, то приложению придется его увеличивать, а увеличение рабочего множества – довольно длительная операция, поэтому в большинстве случаев целесообразно оставлять его с запасом. подробнее можно почитать, например, здесь: http://www.gotdotnet.ru/Forums/Common/114669.aspx Добавлено надо будет добавить это в FAQ. |
Сообщ.
#4
,
|
|
|
Спасибо... разобрался.
|