WinXP диспетчер памяти

Тема в разделе "WASM.WIN32", создана пользователем simnet_, 1 дек 2009.

  1. simnet_

    simnet_ New Member

    Публикаций:
    0
    Регистрация:
    18 дек 2007
    Сообщения:
    109
    Подскажите,
    В диспетчере задач "используемая память" 900Mb, суммарная память, используемая процессами - около 150. Чем может использоваться остальные 750 Mb?

    [​IMG]

    Насколько я понимаю, это из-за ранее запущенных ресурсоемких приложений, но почему Windows не освобождает память, ведь эти процессы уже завершены?
    Постепенно, каждые 3 сек объем занятого пространства уменьшается (по 2-3 Мб). Нельзя как-то этот процесс ускорить?

    Может это быть из-засильной фрагментации файла подкачки (если одна часть еще используемых страниц хранится в его начале, а другая - в конце, "в середине" - пустота)?

    Часто после ресурсоемких приложений проще перезагрузится чем терпеть эти тормоза..
     
  2. gribodemon

    gribodemon New Member

    Публикаций:
    0
    Регистрация:
    17 июн 2009
    Сообщения:
    138
    Возможно, у тебя включён ReadyBoost?
     
  3. gribodemon

    gribodemon New Member

    Публикаций:
    0
    Регистрация:
    17 июн 2009
    Сообщения:
    138
    Забавные вещи. В топике написано про WinXP, а скрин диспетчера явно от Win7.
     
  4. Ox8BFF55

    Ox8BFF55 New Member

    Публикаций:
    0
    Регистрация:
    11 июл 2009
    Сообщения:
    181
    Это всего лиш скины. Еще есть память ядра, и да винда не всегда успевает освобождать память, но вашем случае скорее всего память ядра.
     
  5. gribodemon

    gribodemon New Member

    Публикаций:
    0
    Регистрация:
    17 июн 2009
    Сообщения:
    138
    Ox8BFF55
    Там есть отличительная иконка UAC'а. А это значит, что скрин диспетчера уже по-определению не от WinXP. Я об этом.
     
  6. simnet_

    simnet_ New Member

    Публикаций:
    0
    Регистрация:
    18 дек 2007
    Сообщения:
    109
    Да, это win7, но в XP ситуация та же самая. Просто из 7 удобнее наблюдать, из-за той "отличительной" кнопки Монитор ресурсов

    Память ядра, судя по тому же TaskManager'у 101+42 Mb. А как можно вручную освободить что-то? Ну не хочется ждать пока система перезагрузится или сама освободит, со скоростью 1 Мб в 3 секунды. Если можно, подскажите функции для работы памятью, а не готовые утилиты

    ReadyBoost вроде не включал
     
  7. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    В XP подобная картина наблюдается после записи\модификации больших файлов через MMF. Если самому не вызывать FlushViewOfFile, то хрюша пока хватает памяти копит все изменения в ОЗУ и начинает "ленивую запись" на диск уже после закрытия MMF (как раз где-то 1Мб/сек).
    Форсировать сброс "чужих" данных можно, если самому запросить большой объем памяти через VirtualAlloc и прочитать по 1 дворду\байту из каждой страницы - тут ленивая хрюша наконец проснется и начнет лихорадочно сбрасывать "отрабатонные" данные, освобждая ОЗУ
     
  8. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    Перебрать все процессы и для каждого вызвать EmptyWorkingSet
     
  9. simnet_

    simnet_ New Member

    Публикаций:
    0
    Регистрация:
    18 дек 2007
    Сообщения:
    109
    leo
    Partner
    спасибо