Подскажите, В диспетчере задач "используемая память" 900Mb, суммарная память, используемая процессами - около 150. Чем может использоваться остальные 750 Mb? Насколько я понимаю, это из-за ранее запущенных ресурсоемких приложений, но почему Windows не освобождает память, ведь эти процессы уже завершены? Постепенно, каждые 3 сек объем занятого пространства уменьшается (по 2-3 Мб). Нельзя как-то этот процесс ускорить? Может это быть из-засильной фрагментации файла подкачки (если одна часть еще используемых страниц хранится в его начале, а другая - в конце, "в середине" - пустота)? Часто после ресурсоемких приложений проще перезагрузится чем терпеть эти тормоза..
Это всего лиш скины. Еще есть память ядра, и да винда не всегда успевает освобождать память, но вашем случае скорее всего память ядра.
Ox8BFF55 Там есть отличительная иконка UAC'а. А это значит, что скрин диспетчера уже по-определению не от WinXP. Я об этом.
Да, это win7, но в XP ситуация та же самая. Просто из 7 удобнее наблюдать, из-за той "отличительной" кнопки Монитор ресурсов Память ядра, судя по тому же TaskManager'у 101+42 Mb. А как можно вручную освободить что-то? Ну не хочется ждать пока система перезагрузится или сама освободит, со скоростью 1 Мб в 3 секунды. Если можно, подскажите функции для работы памятью, а не готовые утилиты ReadyBoost вроде не включал
В XP подобная картина наблюдается после записи\модификации больших файлов через MMF. Если самому не вызывать FlushViewOfFile, то хрюша пока хватает памяти копит все изменения в ОЗУ и начинает "ленивую запись" на диск уже после закрытия MMF (как раз где-то 1Мб/сек). Форсировать сброс "чужих" данных можно, если самому запросить большой объем памяти через VirtualAlloc и прочитать по 1 дворду\байту из каждой страницы - тут ленивая хрюша наконец проснется и начнет лихорадочно сбрасывать "отрабатонные" данные, освобждая ОЗУ