Утечка памяти в Windows
Используй MaxMem или FreeMemory.
а не на самом деле? кем она "используется" то? и откуда знаешь, что она на самом деле не используется?
зы. это ты не про тот случай, когда с тебя качают что то? и дисковый кэш(или что там ещё) растёт
_______________
DJ Tiesto - A Tear In The Open [2004 - Just Be - #08]
наверно, имеются в виду лики памяти
Есть такое явление как "утечка памяти", когда приложение занимает память, а потом, при закрытии, не освобождает её - получается, довольно много памяти, с одной стороны и занято, но с другой стороны - уже закрытым приложением. Windows считает, что эта память занята...
Если в ФАРе посмотреть, сколько памяти занимают все процессы в сумме, и сколько памяти занято всего, получится, что количество занятой памяти больше количества памяти, занятой запущенными процессами, причём, чем больше времени прошло с загрузки системы, тем сильнее эти два числа отличаются.
Программировать правильнее тут не поможет, т.к. дело не в моих программах, а в таких, как даже IE - например, после того, как система полностью загрузилась, занято 75МБ, открыл ИЕ - занято 90МБ, полазил несколько часов по сайтам - занято 110МБ, закрыл ИЕ - занято 90МБ, причём если сложить по всем процессам занимаемую ими память, получится 76-77МБ...
MaxMem - это ты имеешь в виду ключ загрузки? Мне надо абсолютно другое - освободить неимпользуемую, но помеченную, как занятую, память, а не ограничить количество используемой физической памяти...
Это программа, которая высвобождает некоторый объем оперативной памяти.
Можно указать этот объем и высвободить вручную, можно указать некоторый объем в процентах от общего
для периодического освобождения.
Что значит - "высвобождает некоторый объём памяти"? Убивает процессы, которые эту память занимают? Память ведь сама по себе ниоткуда не берётся, единственное - она теряется из-за утечки, и тогда (возможно) её можно вернуть... Но если утечки ещё нет, то есть, вся занятая память действительно используется, и я говорю твоей проге - освободи мне 50 метров, что будет?
Насчет MaxMem точно не могу сказать, но FreeMemory просто выгружает процессы из памяти.
но я бы не советовал использовать такие программы, современные ОС сами должны выполнять такие задачи.
кстати,
_______________
Scissor Sisters - Mary [2004 - Scissor Sisters - #04]
Что значит - выгружает процессы из памяти? Мне не нужно убивать какой-то из запущенных сейчас процессов, мне нужно пометить как неиспользуемую память, которая сейчас помечена как занятая, но реально не занята ни одним из запущенных процессов...
для начала советую запустить Process Explorer (от Sysinternals) и попробовать чего-нить там посчитать, чего где недостаёт
зы. ты кстати, объёмы занимаемой процессами памяти ручками складывал? %)
_______________
Scissor Sisters - Laura [2004 - Scissor Sisters - #01]
ты действительно думаешь, что распределение памяти в WindowsXP например такое простое, как ты описал (про суммирование занятой памяти) и настолько глюкавое?
_______________
Scissor Sisters - Laura [2004 - Scissor Sisters - #01]
после того, как система полностью загрузилась, занято 75МБ, открыл ИЕ - занято 90МБ, полазил несколько часов по сайтам - занято 110МБ, закрыл ИЕ - занято 90МБКуда могли деться лишние 15 метров?
Во-вторых: складывал не ручками, ФАР, когда помечаешь группу, показывает общий размер группы... Достаточно всего лишь пометить все процессы...
В-третьих: ядро и прочее, насколько я понимаю, считаются уже совсем отдельно... У меня довольно сложно это увидеть, т.к. работаю с файлом подкачки, но вот у знакомого, у которого 448МБ, это можно хорошо увидеть - у него отключена подкачка, winver говорит, что памяти 448МБ, то есть, ни на что встроенное (как видеокарту, которая, правда, внешняя) ничего не выделяется, а вот Task Manager говорит, что всего памяти - 401МБ... Думаю, эти 37 МБ и есть ядро...
Ты попробуй загрузить IE снова. Должен ощутимо быстрее запуститься, чем при первоначальной загрузке.
Если понадобится винда отберет эту выделенную память сама.
Так что париться по-моему излишне.
Есть такое явление как "утечка памяти", когда приложение занимает память, а потом, при закрытии, не освобождает её - получается, довольно много памяти, с одной стороны и занято, но с другой стороны - уже закрытым приложением.Диссертацию уже можно писать. "Люди в плену бреда".
Лучшее решение 1гиг памяти и выключенный своп.
Вроде с процессами такого нет, но дллки винда не торопится выгружать.
Есть такое явление как "утечка памяти", когда приложение занимает память, а потом, при закрытии, не освобождает её - получается, довольно много памяти, с одной стороны и занято, но с другой стороны - уже закрытым приложением.Диссертацию уже можно писать. "Люди в плену бреда".
Но согласись, что складывается впечатление, что в винде со свопом перемудрили. По крайней мере с его выключением винда получше бегает. У меня 512мб, и довольно редко возникает нехватка памяти.на 512 имхо рано своп выключать. особеенно на компе в сети, с которого постоянно качают и как следствие файлкэш разрастается. потому что этого мало...
Да, поэтому пишу про гиг, хотя если не гамаешься и не запускаешь другие прожорливые проги, то нормально.
Оставить комментарий
1988
Можно ли каким-либо образом, без перезагрузки, освободить неиспользуюмую на самом деле память?