Утечка памяти в Windows

1988

Можно ли каким-либо образом, без перезагрузки, освободить неиспользуюмую на самом деле память?

Alexey1977

Используй MaxMem или FreeMemory.

Trams

> освободить неиспользуюмую на самом деле память
а не на самом деле? кем она "используется" то? и откуда знаешь, что она на самом деле не используется?
зы. это ты не про тот случай, когда с тебя качают что то? и дисковый кэш(или что там ещё) растёт
_______________
DJ Tiesto - A Tear In The Open [2004 - Just Be - #08]

maggi14

наверно, имеются в виду лики памяти

1988

С меня никто качать не может по одной простой причине - вообще сервис шар вырублен...
Есть такое явление как "утечка памяти", когда приложение занимает память, а потом, при закрытии, не освобождает её - получается, довольно много памяти, с одной стороны и занято, но с другой стороны - уже закрытым приложением. Windows считает, что эта память занята...
Если в ФАРе посмотреть, сколько памяти занимают все процессы в сумме, и сколько памяти занято всего, получится, что количество занятой памяти больше количества памяти, занятой запущенными процессами, причём, чем больше времени прошло с загрузки системы, тем сильнее эти два числа отличаются.
Программировать правильнее тут не поможет, т.к. дело не в моих программах, а в таких, как даже IE - например, после того, как система полностью загрузилась, занято 75МБ, открыл ИЕ - занято 90МБ, полазил несколько часов по сайтам - занято 110МБ, закрыл ИЕ - занято 90МБ, причём если сложить по всем процессам занимаемую ими память, получится 76-77МБ...

1988

MaxMem - это ты имеешь в виду ключ загрузки? Мне надо абсолютно другое - освободить неимпользуемую, но помеченную, как занятую, память, а не ограничить количество используемой физической памяти...

Alexey1977

MaxMem - это не ключ загрузки.
Это программа, которая высвобождает некоторый объем оперативной памяти.
Можно указать этот объем и высвободить вручную, можно указать некоторый объем в процентах от общего
для периодического освобождения.

1988

Что значит - "высвобождает некоторый объём памяти"? Убивает процессы, которые эту память занимают? Память ведь сама по себе ниоткуда не берётся, единственное - она теряется из-за утечки, и тогда (возможно) её можно вернуть... Но если утечки ещё нет, то есть, вся занятая память действительно используется, и я говорю твоей проге - освободи мне 50 метров, что будет?

Alexey1977

Насчет MaxMem точно не могу сказать, но FreeMemory просто выгружает процессы из памяти.

Trams

среди такого рода программ рулил помнится Cacheman 5.50 :]
но я бы не советовал использовать такие программы, современные ОС сами должны выполнять такие задачи.
кстати,
_______________
Scissor Sisters - Mary [2004 - Scissor Sisters - #04]

1988

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

Trams

а ты думаешь, только приложения занимают твою оперативную память? как же ядро, системный кэш и прочие хреновины от MS?
для начала советую запустить Process Explorer (от Sysinternals) и попробовать чего-нить там посчитать, чего где недостаёт
зы. ты кстати, объёмы занимаемой процессами памяти ручками складывал? %)
_______________
Scissor Sisters - Laura [2004 - Scissor Sisters - #01]

Trams

слушай, этим вообще то должен заниматься менеджер памяти ОС. если он не справляется как надо - значит хреновая ОС получилась.
ты действительно думаешь, что распределение памяти в WindowsXP например такое простое, как ты описал (про суммирование занятой памяти) и настолько глюкавое?
_______________
Scissor Sisters - Laura [2004 - Scissor Sisters - #01]

1988

Во-первых:
после того, как система полностью загрузилась, занято 75МБ, открыл ИЕ - занято 90МБ, полазил несколько часов по сайтам - занято 110МБ, закрыл ИЕ - занято 90МБ
Куда могли деться лишние 15 метров?
Во-вторых: складывал не ручками, ФАР, когда помечаешь группу, показывает общий размер группы... Достаточно всего лишь пометить все процессы...
В-третьих: ядро и прочее, насколько я понимаю, считаются уже совсем отдельно... У меня довольно сложно это увидеть, т.к. работаю с файлом подкачки, но вот у знакомого, у которого 448МБ, это можно хорошо увидеть - у него отключена подкачка, winver говорит, что памяти 448МБ, то есть, ни на что встроенное (как видеокарту, которая, правда, внешняя) ничего не выделяется, а вот Task Manager говорит, что всего памяти - 401МБ... Думаю, эти 37 МБ и есть ядро...

adgi65

ИМХО, 15 метров улетели в системный кэш.
Ты попробуй загрузить IE снова. Должен ощутимо быстрее запуститься, чем при первоначальной загрузке.
Если понадобится винда отберет эту выделенную память сама.
Так что париться по-моему излишне.

evgen5555

Есть такое явление как "утечка памяти", когда приложение занимает память, а потом, при закрытии, не освобождает её - получается, довольно много памяти, с одной стороны и занято, но с другой стороны - уже закрытым приложением.
Диссертацию уже можно писать. "Люди в плену бреда".

bastii

Но согласись, что складывается впечатление, что в винде со свопом перемудрили. По крайней мере с его выключением винда получше бегает. У меня 512мб, и довольно редко возникает нехватка памяти.
Лучшее решение 1гиг памяти и выключенный своп.

bastii


Есть такое явление как "утечка памяти", когда приложение занимает память, а потом, при закрытии, не освобождает её - получается, довольно много памяти, с одной стороны и занято, но с другой стороны - уже закрытым приложением.
Диссертацию уже можно писать. "Люди в плену бреда".
Вроде с процессами такого нет, но дллки винда не торопится выгружать.

Vadim69

Но согласись, что складывается впечатление, что в винде со свопом перемудрили. По крайней мере с его выключением винда получше бегает. У меня 512мб, и довольно редко возникает нехватка памяти.
на 512 имхо рано своп выключать. особеенно на компе в сети, с которого постоянно качают и как следствие файлкэш разрастается. потому что этого мало...

bastii

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