Плата за фиксацию составляет 100%, а физическая память - всего 60% при отсутствии файла подкачки

Я отключил файл подкачки в моей системе (жесткий диск слишком медленно, не могу сразу купить новый, не могу перенести файл подкачки на другой раздел). Когда я вижу в монитор ресурсов, используя приложения, требующие памяти, система показывает, что плата за фиксацию почти на 100% полна. Действительно, если я продолжаю требовать больше памяти, программы начинают аварийно завершаться, так как плата за фиксацию эффективно достигает 100%.

в то же время, система говорит, что я использую только 50-60% физическая память и имеет память вокруг 1Гб доступную (свободный + standby).

Если commit charge-это общая запрошенная память, почему система говорит, что столько памяти свободно? Физическая память не используется Windows? График памяти неправильный? Я что-то пропустила?

Commit charge graph vs Physical memory graphTask manager

30
задан Jason Oviedo
23.04.2023 6:11 Количество просмотров материала 2539
Распечатать страницу

3 ответа

ни предел фиксации, ни плата за фиксацию не связаны со свободной или доступной оперативной памятью.

ограничение на фиксацию = текущий размер файла подкачки + размер ОЗУ-ОЗУ, постоянно выделяемое для неразмещаемой памяти.

Так как у вас нет файла подкачки, лимит фиксации меньше, чем если бы у вас был файл подкачки. Не имеет значения, сколько оперативной памяти свободный. Для предела фиксации имеет значение только установленная ОЗУ. Вы можете запустить из предела фиксации даже с 90% вашего Оперативной памяти бесплатно или.

Commit charge-это количество виртуальной памяти, а не физической. Предположим, что моя программа VirtualAlloc для 2 ГБ помогут, но потом только открыть .5 ГБ. Остальные 1,5 ГБ никогда не выходя, никогда не назначается в RAM, поэтому RAM использование не отражает 2 ГБ, только .5 ГБ.

тем не менее," системная фиксация "увеличивается на 2 ГБ, потому что система" зафиксировала", что будет место для хранения моих 2 ГБ, если мне действительно понадобится все это. Тот факт, что любой данный запуск программы, которую я, вероятно, не буду пытаться использовать, все это не помогает. Я попросил 2 ГБ, а ОС "совершила" - подумайте об этом слове - что я могу использовать столько v.a.С.

Смотрите также мои ответы здесь (больше) и здесь (много больше).

p.С. поместите свой файл подкачки назад, добавьте больше оперативной памяти или запустите меньше материала за один раз. Поскольку ваш невыгружаемый пул не является избыточным, это единственные варианты повышения лимита фиксации.

19
отвечен Jamie Hanrahan 2023-04-24 13:59

Как выделение памяти тест в статье http://brandonlive.com/2010/02/21/measuring-memory-usage-in-windows-7/ показано, Windows-это тип системы, которая бы не большие выделения памяти, если подобные выделения вместе со всеми до распределения (концепция Microsoft называет как "фиксация"), доведет общее "фиксации" выше сумма физической памяти и сумму всех файлов подкачки (своп).

считают, что an выделение само по себе не использует никакой реальной памяти (ни физическое, ни swap), до чтения или записи, происходящих в виртуальном адресном пространстве процесса для вышеупомянутого распределения. Например. выделение 2GB само по себе будет влиять только на номера "фиксации" (в Windows 7 talk), оставляя "физическую память" в покое (пока не произойдет чтение/запись в указанном выделении).

насколько дизайн ОС идет, альтернативный подход будет всегда позволяют выделение любого размера (если доступная память уже полностью исчерпана), а затем позволить приложениям сбой чтения/записи вместо этого. См.https://cs.stackexchange.com/questions/42877/when-theres-no-memory-should-malloc-or-read-write-fail для получения более подробной информации.

4
отвечен cnst 2023-04-24 16:16

доступная память не то, что вы думаете, что это будет. Это не неиспользованный это действительно файловый кэш недавно завершенных процессов или trimed процессов, которые были силой, чтобы отдать некоторую память другим процессам. Их можно было бы призвать обратно к изначальной цели. см. Для больше детали.

http://support.microsoft.com/kb/312628

Как не иметь файл подкачки это очень плохо. Окна плохо деградирует без одного. Запоминать даже исполняемые файлы используются в качестве файлов подкачки, когда нет файла подкачки. Даже если диск работает медленно, лучше иметь файл подкачки, пока вы не получите до 8-16 гигов памяти. Некоторые люди думают, что даже windows 7 может работать без него.

Я регулярно даю старой машине толчок, делая несколько вещей. Очистить жесткий диск как можно больше. Скопируйте все, что вы можете временно удалить с диска, на резервную копию. Удалите ненужные приложения. Удаление приложений можно переустановить.

когда все это делается дефрагментация жесткого диска. В этот момент создайте файл подкачки заново. Это будет ближе к передней части диска, как это возможно. Создайте фиксированный размер памяти примерно в 1,5 раза. Это мое правило, обычно я видел размеры от 1 до 3 раз памяти. Это даст ему небольшой толчок в скорости по сравнению с обычными местами, где он будет размещен.

Я использую auslogic defrager это бесплатно (объявления для более инструмента, хотя). Есть и другие, которые делают это. Проверьте defragers в portableapps.com. Он оптимизирует диск, размещая недавно полученные файлы рядом с передней частью диска для более быстрого доступа. Он показывает, где находится файл подкачки, так что вы можете увидеть, если вы переместили его в верхней 25% диска.

после этого переустановить приложения и скопировать обратно ваши данные.

Я бы сказал, Вы получите 10 или 20% повышение. Но главная ценность в том, что многие колебания уходят на более плавный опыт.

2
отвечен Nelson Asinowski 2023-04-24 18:33

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх