Почему моя "выделенная" память намного выше, чем фактическая память ОЗУ?
Я провел два сканирования на вирусы, и ни один из них до сих пор не нашел ничего (Malware Bytes и Avira Rescue). Во время игры я получу всплывающие окна Windows, говорящие о том, что в моей системе недостаточно памяти, и рекомендует закрыть игру. Это также может произойти во время просмотра. Мой компьютер, кажется, сильно зависает и часто зависает, например, при нажатии на ссылку в программе обмена сообщениями для открытия в моем браузере.
Я не уверен, что является причиной этого. Мое использование памяти на вкладке процессов не составляет такого большого процента моей реальной памяти.
В качестве примечания, может ли мое использование диска иногда достигать 100%? Исследования, кажется, говорят так.
3 ответа
"Почему моя" преданная "память намного выше, чем фактическая память?" Потому что "фиксация" - это в основном виртуальное адресное пространство, частное для процесса, и часть этого может быть в ОЗУ, а другая - в файле подкачки.
А некоторые могут вообще не занимать хранилище! Это если он был выделен, но к нему никогда не обращались, следовательно, пока не "ошибся". Но это все равно считается "пределом коммитов", потому что, если к нему будет получен доступ в будущем, он будет занимать хранилище. И уже слишком поздно, чтобы система говорила: "Извините, у нас нет места".
Весь смысл виртуальной памяти в том, что она может быть намного больше физической (ОЗУ), нет?
Кстати... у вас, похоже, есть файл подкачки размером около 24 ГБ, так как у вас 8 ГБ ОЗУ, а предел фиксации составляет 32 ГБ. Таким образом, ваш "преданный" может достигать 32 ГБ. (И на данный момент он почти такой высокий, поэтому сокращение или удаление файла подкачки было бы плохой идеей.)
В то время как ОЗУ используется именно так. Поэтому, конечно, используемая оперативная память + используемый файл подкачки могут быть больше, чем используемая оперативная память.
В конце концов, весь смысл виртуальной памяти в том, что вы можете использовать больше виртуальной памяти, чем физической памяти (ОЗУ).
Если вы хотите выяснить, что использует выделенную память, вам нужно взглянуть на вкладку "Подробности" диспетчера задач и включить столбец "Размер фиксации".
Кроме того, общее количество столбцов "Размер фиксации" не будет суммироваться с "зарядом фиксации" (30,1 ГБ на вашем компьютере), так как на фиксацию взимается еще одна вещь: невыгружаемый и выгружаемый пул и некоторые более "тонкие" механизмы, такие как копирование -записать разделы, разделы на основе файла подкачки, отображения AWE... но они обычно невелики по сравнению с частными процессами)
На этой вкладке столбец "Память (частный рабочий набор)" соответствует тому, что на вкладке "Процессы" отображается для "Память". Это оперативная память, назначаемая в настоящее время каждому процессу для его выделенного виртуального адресного пространства. Остальная часть будет в файле подкачки. Но, опять же, процессы имеют другие типы адресного пространства, в основном такого типа, который называется "сопоставленный", и некоторая часть этого также будет в ОЗУ. Существуют и другие общесистемные вещи, созданные ОС, не относящиеся к какому-либо процессу, которые также используют ОЗУ.
Короче говоря, столбец "Память" на вкладке "Процессы" не должен складываться в общий объем используемой оперативной памяти. Это только показывает, сколько из общего использования используется в частном порядке каждым процессом.
Самый простой способ подумать об этом — вернуться в 1995 год.
Высокопроизводительный ПК будет иметь 8 МБ оперативной памяти (да, мегабайт). И все же в Windows NT (которая стала Windows 2000, которая стала Windows XP) ваши приложения будут думать, что у них есть доступ к 2 ГБ памяти - число настолько велико, что уму непостижимо.
И ваше приложение может это сделать:
- он мог бы выделить 2 ГБ памяти
- в то время как реальный компьютер имеет только 8 МБ ОЗУ
Как это могло сработать? Как моя программа могла активно использовать 2 ГБ памяти, если на ПК всего 8 МБ оперативной памяти? Куда все это идет? Очевидно, что дело не в чипах оперативной памяти.
Ответ: виртуальная память
Приложения выделяют память частями по 4 КБ, называемыми страницами . Если все страницы в оперативной памяти заполнены:
- Windows выберет какую-то страницу в оперативной памяти, которая редко используется
- сохраните копию этой страницы размером 4 КБ в файл подкачки
- а затем передайте эту новую доступную страницу вашему приложению
А что, если это понадобится программе, которая использовала эту страницу ?
- тогда Windows обнаружит, что ваше приложение пытается получить доступ к странице, которая была «замещена» в файл подкачки.
- освободить еще одну страницу в оперативной памяти
- заполнить содержимое новой доступной страницы значениями, сохраненными на жестком диске
После этого ваше приложение сможет получить доступ к странице, как будто ничего не произошло.
То же самое и сегодня
- вы можете «выделить» 31 ГБ «памяти»
- имея всего 16 ГБ «ОЗУ»
Windows использует файл подкачки, который похож на RAM, но хранится на вашем жестком диске. Это намного медленнее, но полезно, когда вам нужно использовать больше памяти, чем у вас на компьютере. Windows хранит части памяти, которые некоторое время не использовались в файле подкачки, когда ей нужно хранить больше памяти, но нет места в оперативной памяти для ее хранения.
Выделенная память - это память на вашем компьютере плюс файл подкачки. Похоже, что иногда программы используют слишком много памяти и заставляют Windows хранить некоторые вещи в файле подкачки. Файл подкачки не был достаточно большим, чтобы вместить все окна памяти, которые в нем хранились, поэтому пришлось увеличить его размер. Он продолжал увеличивать свои размеры, пока не достиг своего предела. Теперь Windows больше не может увеличивать файл подкачки, что означает, что она не может хранить дополнительную память, поэтому ее единственный вариант - сказать вам закрыть несколько программ, чтобы уменьшить использование памяти. Причина, по которой ваш компьютер работает медленно, заключается в том, что ему нужно загружать данные из файла подкачки, который намного медленнее, чем загрузка непосредственно из ОЗУ, и делает использование диска действительно высоким, поскольку файл подкачки хранится на жестком диске.
Вы не должны иметь столько открытых программ, сколько хотите, и убедитесь, что на вашем компьютере достаточно памяти для игр, в которые вы играете, и программ, которые вы используете. Надеюсь, это поможет!