Автор Тема: Как заставить Винду больше юзать оперативку и меньше виртульную память?  (Прочитано 12683 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн topos84

  • Emu-Land Team
  • Сообщений: 2762
  • Пол: Мужской
    • Просмотр профиля
У меня Windows XP Home Edition SP3 (был SP2, обновил до SP3), оперативки 1 Гиг (DDR400), проц 2.1 Ггц AMD Sempron (Paris) (был 1.8 до разгона).

Проблема в том, что у меня маленький жесткий диск (80 гигов) всегда забит почти до отказа и дефрагментирую его редко (не каждый месяц даже), поэтому файл подкачки почти всегда фрагментирован сильно (правда я сегодня узнал, что можно его дефрагментировать отдельно, т.е. не фрагментируя всего диска, но это уже не важно), оперативки же у меня всегда много свободной, обычно половина, в редких случаях - 1/3, совсем в редких - опускается до 100 метров. Заставить винду жрать больше оперативки никак не могу: захожу в Свойства системы -> Дополнительно -> Параметры быстродействия -> Дополнительно, ставлю оптимизацию памяти под системный кэш, результат - ноль, т.е. память используется точно так же, как и раньше, в количественном отношении. Если там же ставлю еще и приоритет процессора для служб, работающих в фоновом режиме (это я затем, что наибольшую загрузку оперативной памяти мне дают Vuze, DC++ и ФаерФокс, запущенные вместе, что иногда бывает, + антивирус, а это, как я понимаю, сильно связано с работой служб), то эффекта тоже нет.

Если убавляю размер виртуальной памяти до 256 метров, то, почти сразу же, после перезагрузки Винды, вижу уведомление о нехватке виртуальной памяти, в соответствии с чем, Винда увеличивает файл подкачки. С какого перепугу ей понадобилась виртуальная память, если в ДЗ вижу, что 500 метров оперативки свободно?  o_0

Увеличиваю сам размер файла подкачки до 512 метров. После перезапуска Винды никаких уведомлений о нехватки виртуальной памяти нет, но и в ДЗ все, как и было - половина оперативки свободна; если загружу проц скачками, ФаерФоксом (он у меня меньше 100 метров не ест, потому что нашпиговал его дополнениями) и еще чем-то, чем обычно загружаю, то опять, в лучшем случае, удастся добиться уменьшения количества свободной памяти до 300 метров. В то время как, если там же, в ДЗ, посмотреть использование виртуальной памяти, то все процессы используют ее почти в таком же объеме, как и оперативку (а я-то как раз хочу сократить их использование виртуалки до минимума).

Кстати, пробовал полностью отключать файл подкачки - не выходит. В Свойствах системы отключается, а в ДЗ все равно показывается ее использование, как было до отключения. o_0

Короче, я хочу, чтобы виртуальная память все же была, но чтобы ее использование начиналось только в случае, если оперативка забивается до предела. Можно ли принудить Винду к этому как-нибудь?

П.С. Висту или Семерку не советовать.

Оффлайн aptyp

  • Пользователь
  • Сообщений: 6263
    • Просмотр профиля
помню старинный совет, при размере памяти больше 512MB можно отключить файл подкачки... всё должно быть ОК.
Когда оперативной памяти достаточно много, файл подкачки можно отключить, выбрав пункт "Без файла подкачки".
...
В этом же разделе реестра можно запретить выгружать в файл подкачки ядро и драйверы Windows 2000/XP, установив параметр DisablePagingExecutive равным единице. На компьютерах, обладающих достаточным объемом оперативной памяти (порядка 512 Мб и больше) эта настройка должна повысить скорость работы, так как системе не нужно будет подгружать ядро с жесткого диска.

Оффлайн topos84

  • Emu-Land Team
  • Сообщений: 2762
  • Пол: Мужской
    • Просмотр профиля
Цитата: topos84
Кстати, пробовал полностью отключать файл подкачки - не выходит. В Свойствах системы отключается, а в ДЗ все равно показывается ее использование, как было до отключения.
Тогда вот это как объяснить?

Да и вообще, я же говорю, что виртуалка-ту мне не хочется совсем отключать - мало ли, я буду играть во что-нибудь (по моим меркам) требовательное и, при этом, нагружать оперативу сильно скачками, или конвертированием или еще чем, а память кончится. Я лишь хочу ослабить нагрузку на винт, коль скоро у меня оперативы лишней много, а Винда упорствует, ослица ХРенова! <_<

Оффлайн aptyp

  • Пользователь
  • Сообщений: 6263
    • Просмотр профиля
а ты файл то удали pagefile.sys. хотя он если отключен автоматически удаляется с винта при перезагрузке.

Добавлено позже:
только аккуратно...  c windows лишний раз лучше не-шутить. :lol:

Оффлайн EdHell

  • Технический консультант
  • Сообщений: 12193
  • Пол: Мужской
  • Ортодоксальный пофигист
    • Просмотр профиля
Даже если совсем отрубить подкачку и удалить файл подкачки, системный софт показывает, что он есть и используется, причем размер иногда показывает вообще от балды. А на самом деле его нет, т.к. игры и софт которые не могут работать без свопа, ругаются на его отсутствие, да и по работе винта видно. Пять лет сижу без свопа - на всех виндах одно и то же. :D

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
С какого перепугу ей понадобилась виртуальная память, если в ДЗ вижу, что 500 метров оперативки свободно?  o_0

Кстати, пробовал полностью отключать файл подкачки - не выходит. В Свойствах системы отключается, а в ДЗ все равно показывается ее использование, как было до отключения. o_0
так уж винда сделана.  

то есть как это не отключается? отключил нажал ОК. файл пропал? значит использоваться он не может. а в ДЗ может что угодно быть написано.

Оффлайн EdHell

  • Технический консультант
  • Сообщений: 12193
  • Пол: Мужской
  • Ортодоксальный пофигист
    • Просмотр профиля
topos84, фиксированный размер свопа выставлял? Так, чтобы ось не могла его увеличить сама.

Оффлайн topos84

  • Emu-Land Team
  • Сообщений: 2762
  • Пол: Мужской
    • Просмотр профиля
Цитата: Ti_
а в ДЗ может что угодно быть написано
Вот это-то меня и удивляет больше всего в этой истории.

Добавлено позже:
Цитата: EdHell
topos84, фиксированный размер свопа выставлял? Так, чтобы ось не могла его увеличить сама.
А как ей запретить-то самой увеличивать ее? Я же писал, что пробовал убавлять ее до 256 метров, а она сама заругалась потом на ее нехватку и начала увеличивать, из-за чего я потом сам увеличил до 512, чтобы она мне больше не увеличивала ее сама, по мере ее переполнения.

Но, опять же, это все не то, что нужно мне, потому что все равно виртуалка используется им параллельно оперативке, а не по мере истощения запаса свободной оперативки, как мне надо.

Знаю, что Виста (а значит, наверно, и Семерка) этим не грешит, так как сама зажирает всю память, заваливая ее кэшом, каким только можно, лишь бы жесткий не напрягать, но Виста мне не нужна, из чисто идеологических соображений (хотя и видюха у меня слабая и проц, а Висте подавай побольше ресов).

Как ХРюшу заставить делать с памятью то же, что и Виста делает? Может проги какие есть?
Знаю, есть проги для освобождения оперативки, за счет выгрузки из нее содержимого в файл подкачки, сам такие раньше юзал, когда оперативки было кот наплакал. А вот есть ли такие, которые делают наоборот: освобождают файл подкачки, загружая оперативку почти до отказа, - не знаю, есть или нет такие.

Оффлайн EdHell

  • Технический консультант
  • Сообщений: 12193
  • Пол: Мужской
  • Ортодоксальный пофигист
    • Просмотр профиля
topos84, выставь фиксированный размер, т.е. например 512-512. Как бы ось не ругалась, размер свопа она уже увеличить сама не сможет.

Оффлайн topos84

  • Emu-Land Team
  • Сообщений: 2762
  • Пол: Мужской
    • Просмотр профиля
Аха, я вспомнил! В прошлый раз, когда я выставлял 256, я кажется, забыл и максимальный размер поставить 256, т.е. вместо 256-256 у меня, вроде было 256-512, поэтому она и начала увеличивать файл подкачки. Ну тогда щас поставлю 256-256 и попробую нагрузить оперативу - посмотрю, что при этом получится: выдаст сообщение о нехватке виртуальной памяти или же станет загружать свободную оперативную память до отказа.

А кстати, что будет, если переполнить и оперативку, и виртуальную память до отказа? Винда зависнет и все? Или же, все-таки, Винда начнет увеличивать файл подкачки?

Оффлайн EdHell

  • Технический консультант
  • Сообщений: 12193
  • Пол: Мужской
  • Ортодоксальный пофигист
    • Просмотр профиля
Схлопочешь БСОД или ресет, в зависимости от настроек. В лучшем случае приложение упадет с ошибкой типа "out of memory".

Оффлайн topos84

  • Emu-Land Team
  • Сообщений: 2762
  • Пол: Мужской
    • Просмотр профиля
Эх, блин, не помогло! Выставил 128-128, перезагрузился, загрузил оперативу, как только свободная оперативная память, по мере убывания, перевалила за 400 метров, - снова уведомление о нехватке виртуальной памяти и ее увеличения в связи с этим. Черт знает, что такое! <_<

Добавлено позже:
А Process Explorer тоже врет о состоянии использования виртуальной памяти?

Оффлайн EdHell

  • Технический консультант
  • Сообщений: 12193
  • Пол: Мужской
  • Ортодоксальный пофигист
    • Просмотр профиля
topos84, ты отключи паникерские сообщения, оставь только критические. :)

Оффлайн topos84

  • Emu-Land Team
  • Сообщений: 2762
  • Пол: Мужской
    • Просмотр профиля
Щас отрубил файл подкачки вообще, и что бы вы думали, господа? Встроенная видюха сама переключилась в "экономический режим": вместо 128 метров, какие зажирает обычно, оттяпала всего 32!  o_0
У нее в БИОСе стоят 3 режима: 128, 64 и 32 метра. Я раньше всегда юзал 128 при 1024х768х32х120Гц; если убавлял цвета до 16 бит, то она сама, после перезагрузки Винды, убавляла свой аппетит до 64. Да и в иных случаях ухудшения картинки все равно ниже 64 метров сама себя не ограничивала, а тут на тебе - до 32 убавила, причем настройки дисплея моего остались прежними (она бы лучше делала это, когда у меня год назад было всего 256 метров оперативки, половину которой она зажирала, а я тогда еще не знал, что в биосе можно самому выставить 64 или даже 32 <_<).

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Уэто я затем, что наибольшую загрузку оперативной памяти мне дают Vuze, DC++ и ФаерФокс, запущенные вместе, , + антивирус,
vuze у меня был когда-то,  насколько помню там в настройках кэш можно любой задать и буит использоваться реальная ram. поставишь 256-512 на хард нагрузка упадет.

Добавлено позже:
Да и в иных случаях ухудшения картинки все равно ниже 64 метров сама себя не ограничивала, а тут на тебе - до 32 убавила
а тебе сколько надо то больше чтоли.

Добавлено позже:
как только свободная оперативная память, по мере убывания, перевалила за 400 метров, - снова уведомление о нехватке виртуальной памяти и ее увеличения в связи с этим. Черт знает, что такое! <_<
а в 95винде вроде была опция создавать свап только если рам закончилась.  ^_^

Оффлайн topos84

  • Emu-Land Team
  • Сообщений: 2762
  • Пол: Мужской
    • Просмотр профиля
Цитата: Ti_
vuze у меня был когда-то,  насколько помню там в настройках кэш можно любой задать и буит использоваться реальная ram. поставишь 256-512 на хард нагрузка упадет.

Как я тебе поставлю там 256-512, когда у меня текущий максимальный размер виртуальной машины 127,06 МБ? Или мне можно увеличить еще и память виртуальной машины?

Цитата: Ti_
а тебе сколько надо то больше чтоли.
Раньше было надо меньше, когда оперативки было кот наплакал. Вот я и удивляюсь, с какого это она перепугу убавилась до 32 метров. Теперь я, кажется, понял, что это глюк, потому что в биосе только что посмотрел - 128 стоит, а тут пишет 32, т.е. явный глюк.

Цитата: Ti_
а в 95винде вроде была опция создавать свап только если рам закончилась
Вот так всегда: все самое лучшее мелкософт оставляет за бортом на пути прогресса своих ОС. :D

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
127,06 МБ? Или мне можно увеличить еще и память виртуальной машины?
насчет машины не знаю, посмотри почитай. пока можно поставить если смотреть что написано 127-32=95мб.

Оффлайн topos84

  • Emu-Land Team
  • Сообщений: 2762
  • Пол: Мужской
    • Просмотр профиля
Цитата: Ti_
насчет машины не знаю, посмотри почитай. пока можно поставить если смотреть что написано 127-32=95мб.
Нетушки, спасибо. А что, по-твоему, другим прогам ява-машина не нужна совсем (или ты думаешь, что оставшихся 32 метров ее хватит на все остальное)? Поставлю 64, а там посмотрю, нормально ли будет.

А почитать - почитаю (вот за что я люблю Лягуху, так это за то, что в ней настроек тьма, в отличие от всяких там му-торрентов). ;)

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Нетушки, спасибо. А что, по-твоему, другим прогам ява-машина не нужна совсем (или ты думаешь, что оставшихся 32 метров ее хватит на все остальное)? Поставлю 64, а там посмотрю, нормально ли будет.
ну не знаю,  у меня то на яве ниче не было кроме нее. ) изучай как расширить.

Оффлайн topos84

  • Emu-Land Team
  • Сообщений: 2762
  • Пол: Мужской
    • Просмотр профиля
Еще меня вот что заинтересовало в ДЗ:

Почитал справку:

И спросил себя: а можно ли запретить Винде выгружать выгружаемую память ядра в файл подкачки, не отключая, естественно, сам файл подкачки? Ведь в моем случае, когда свободной оперативки полно, от этой манипуляции могла бы вырости производительность системы (хотя и незначительно).

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
И спросил себя: а можно ли запретить Винде выгружать выгружаемую память ядра в файл подкачки, не отключая, естественно, сам файл подкачки? Ведь в моем случае, когда свободной оперативки полно, от этой манипуляции могла бы вырости производительность системы (хотя и незначительно).
первый ответ на твою тему вроде бы об этом как раз.

Оффлайн topos84

  • Emu-Land Team
  • Сообщений: 2762
  • Пол: Мужской
    • Просмотр профиля
Ты про это?
Цитата
В этом же разделе реестра можно запретить выгружать в файл подкачки ядро и драйверы Windows 2000/XP, установив параметр DisablePagingExecutive равным единице. На компьютерах, обладающих достаточным объемом оперативной памяти (порядка 512 Мб и больше) эта настройка должна повысить скорость работы, так как системе не нужно будет подгружать ядро с жесткого диска.
Точно, оно. Вот только я в ручном редактировании реестра не рублю вовсе - никогда не пробовал раньше. Ну ничего, щас попробую.

Добавлено позже:
Кстати, предыдущими манипуляциями мне все же удалось решить большую часть проблемы, а именно: при нагрузке компа одними только ФаерФоксом и Вьюзом количество свободной оперативной памяти упало до 172 метров (а раньше при такой же нагрузке не падала ниже 300), при дополнительной нагрузки в виде конвертирования видеофайла (в Дубе) свободная память упала почти до нуля, после чего Винда стала понемногу скидывать данные в своп, в среднем порциями по 20-30 метров, после каждой такой скидки снова память убывала почти до нуля, до следующего сброса (именно этого я и добивался от нее). Раньше же даже при максимальной нагрузке на процессор всем, чем только можно было, память никогда не убывала ниже 100, а чаще всего и 200, - сразу скидывалось в своп, причем по 100-150 метров за раз, что сильно тормозило работу системы из-за фрагментации жесткого.

А что я сделал для этого? Вот только это: 1) установил размер файла подкачки 512-512; 2) выставил оптимизацию времени работы процессора для программ (а не служб); 3) выставил оптимизацию памяти для системного кэша, а не для программ; ну и 4) увеличил с 32 до 64 метров размер кэша Вьюза, но это, кажется не особо повлияло на память, так как разница в 32 метра для меня незначительна.

Добавлено позже:
О! Да тут есть чем разживиться!

Наверняка удастся добиться того, что мне нужно.

Добавлено позже:
Ну вот опять-25! Поставил DisablePagingExecutive=1, а в ДЗ снова-здорово:

Опять ДЗ врет?

Оффлайн evgeny

  • Пользователь
  • Сообщений: 1390
  • Пол: Мужской
    • Просмотр профиля
Помню была такая программа, которая создавала виртуальный жесткий диск из части оперативной памяти (размер вроде бы можно было задавать). Можно попробовать так сделать и переместить файл подкачки на виртуальный диск.

Оффлайн EdHell

  • Технический консультант
  • Сообщений: 12193
  • Пол: Мужской
  • Ортодоксальный пофигист
    • Просмотр профиля
Это хорошо, когда оперативки хоть попой ешь, а при 512мб не разжируешь.

Оффлайн topos84

  • Emu-Land Team
  • Сообщений: 2762
  • Пол: Мужской
    • Просмотр профиля
Цитата: evgeny
Можно попробовать так сделать и переместить файл подкачки на виртуальный диск.
Не слишком ли рискованно? Если случится так, что виртуальная память кончится, то винда не сможет ее увеличить, так как РАМ-диск будет исчерпан, а хранить файл подкачки сразу на нескольких дисках наверняка нельзя.

А так идея вообще интересная. Ради такой махинации, мне было бы не жалко еще одну планку на 1 гиг купить (хотя конечно 1.500 рублей тоже на дороге не валяется, но зато жизнь винту продлить можно было бы).

Оффлайн evgeny

  • Пользователь
  • Сообщений: 1390
  • Пол: Мужской
    • Просмотр профиля
Вроде бы можно на каждом диске задавать файл подкачки. Утверждать ничего не берусь, может вобще не получится задать на виртуальном диске файл подкачки. У самого оперативной памяти 512 мб, поэтому не проверял такой вариант, было бы больше, то рискнул проверить бы.

Оффлайн topos84

  • Emu-Land Team
  • Сообщений: 2762
  • Пол: Мужской
    • Просмотр профиля
Цитата: evgeny
Вроде бы можно на каждом диске задавать файл подкачки.
Точно, можно:


Вот только не думаю, что виртуальная память будет работать как надо, если один ее кусок будет в РАМ, а другой на жестком, - скорость передачи данных-то должна быть одинаковая в этом случае, наверно. Или скорость тут ни при чем?

Оффлайн evgeny

  • Пользователь
  • Сообщений: 1390
  • Пол: Мужской
    • Просмотр профиля
Если можно создать файл подкачки на каждом диске, то значит учитывается, что скорость приводов может отличатся. Не думаю, что это имеет какое-то значение. Ну разве что чем больше скорость, тем быстрее все работает и загружается. Вобще лучше один раз проверить, гадать долго можно.

Оффлайн topos84

  • Emu-Land Team
  • Сообщений: 2762
  • Пол: Мужской
    • Просмотр профиля
Прежде, чем экспериментировать с РАМ-диском, я сперва попробую разобраться с переменными в реестре, отвечающими за управление памятью. Если это не поможет, тогда можно будет и с РАМ-диском поэкспериментировать (да даже если и поможет, все равно поэкспериментирую, ибо всегда хотел; в частности, мне всегда было интересно, можно ли монтировать в том же алкаше СД-образы, хранящиеся на носителях, отличных от винта (хранящиеся на CD/DVD, я знаю, можно, на флешках, вроде тоже, а вот на РАМ-диске - не знаю)).