Представьте, у меня есть тонны оперативной памяти. Допустим, 64 ГБ. Это много даже для игровых ПК. Теперь по умолчанию расположение файла подкачки в Windows находится на главном диске ОС, будь то жесткий диск или твердотельный накопитель, которые в целом работают быстрее, но все же не так быстро, как ОЗУ.
Что-то подсказывает мне, что отключение файла подкачки на жестком диске или создание виртуального ОЗУ и сохранение файла подкачки может заставить Windows переместить всю свою виртуальную память в ОЗУ и, таким образом, повысить производительность системы, но я не очень разбираюсь в этом площадь, так что это может быть не совсем так.
Я попробовал оба, но я не мог проанализировать результаты, чтобы прийти к определенному выводу с моим уровнем знаний в вещах памяти.
Будет ли это работать? Если нет, то почему?
источник
Ответы:
Независимо от того, сколько у вас оперативной памяти, вы хотите, чтобы система могла эффективно использовать ее. Отсутствие файла подкачки заставляет операционную систему неэффективно использовать оперативную память по двум причинам. Во-первых, он не может сделать страницы отбрасываемыми, даже если к ним не обращались и не изменяли в течение очень долгого времени, что приводит к уменьшению дискового кэша. Во-вторых, он должен зарезервировать физическую ОЗУ для резервных выделений, которые вряд ли когда-либо потребуются (например, частное, изменяемое сопоставление файлов), что приводит к случаю, когда вы можете иметь много свободной физической ОЗУ, и в то же время в выделениях отказано избегать чрезмерного выполнения.
Рассмотрим, например, если программа создает доступное для записи сопоставление частной памяти файла 4 ГБ. Операционная система должна зарезервировать 4 ГБ ОЗУ для этого сопоставления, поскольку программа может изменять каждый байт, и нет места, кроме ОЗУ, для его хранения. Таким образом, сразу 4 ГБ ОЗУ тратятся впустую (его можно использовать для кэширования чистых страниц диска, но это все).
Вам нужно иметь файл подкачки, если вы хотите получить максимальную отдачу от вашей оперативной памяти, даже если она никогда не используется. Он действует как страховой полис, который позволяет операционной системе фактически использовать имеющуюся оперативную память, а не резервировать ее для возможностей, которые чрезвычайно маловероятны.
Люди, которые разработали поведение вашей операционной системы, не дураки. Наличие файла подкачки дает операционной системе больше выбора, и она не сделает плохих.
Нет смысла пытаться поместить файл подкачки в оперативную память. И если у вас много оперативной памяти, файл подкачки вряд ли будет использоваться (он просто должен быть там), поэтому не имеет особого значения, насколько быстро работает устройство.
источник
Вы совершенно правы в своем предположении.
Алгоритмы управления памятью очень сложны и ни в коем случае не идеальны. Так что подкачка происходит даже тогда, когда есть много свободной оперативной памяти. В некоторых системах, например
Linux
, вы можете контролировать перестановку , в других - нет. Выполняя обмен данными, когда ОЗУ все еще много, система по-своему готовится к ситуации, когда она может исчерпать ОЗУ.Таким образом, отключение функции подкачки может дать вам повышение производительности, поскольку вы будете использовать только оперативную память, которая быстрее, чем вы уже сказали.
Нужно учитывать одну вещь (и вы уже упоминали об этом) - вам нужно иметь достаточно ОЗУ для размещения всех программ, которые вы выполняете, в противном случае вы рискуете исчерпать память . В этом случае производительность снизится, некоторые процессы могут быть прерваны ОС, и система может столкнуться с зависанием / зависанием. (подробнее об этом здесь )
На некоторых машинах, особенно на тех, которые хранят файл подкачки на жестком диске, а не на SSD, эффект от отключения подкачки очень заметен. На других это не так очевидно. Но даже если вы не добились очевидного улучшения, подумайте об этом по-другому, отключив подкачку, вы сэкономите немного дискового пространства на вашем SSD.
Отключив подкачку, вы также предотвратите ненужные операции с алгоритмами памяти - перемещение данных из ОЗУ в своп и наоборот - в случае SSD это предотвратит чрезмерный износ. И в любом случае это повысит производительность за счет устранения ненужных операций.
Также читайте:
источник
Можете ли вы безопасно отключить файл подкачки?
Если у вас заканчивается свободная память, включая виртуальную память, система не может продолжать гарантировать детерминированное выполнение и завершает свою работу. До того, как это произойдет, операционная система будет выполнять различные другие действия, такие как уничтожение программ, которые используют слишком много памяти. Я хочу сказать, что память всегда ограничена, и каждая ОС может справиться с этим. Поэтому ограничение общего объема доступной памяти до 64 ГБ не повредит Windows - многие системы не могут превышать 8 ГБ даже при использовании файла подкачки, поскольку при объеме оперативной памяти 1 или 2 ГБ файл подкачки обычно намного меньше, чем 6 или 7 ГБ. Следует отметить, что до тех пор, пока у вас слишком много неиспользуемой оперативной памяти, накладные расходы ОС, поддерживающей файл подкачки, не будут измеримы.
Имеет ли смысл помещать файл подкачки на виртуальный диск?
Чтобы увеличить доступную память, большинство, если не все продвинутые операционные системы, используют какой-то файл подкачки, где они занимают некоторую память, которая находится в оперативной памяти и к которой некоторое время не обращались, записывают память на жесткий диск (файл подкачки или файл подкачки ), и удалите память из ОЗУ, чтобы получить более быструю память. Файл подкачки используется для расширения максимального размера памяти за пределы размера доступной оперативной памяти.
Поэтому использование виртуального диска (который уменьшает доступную память на размер виртуального диска) для размещения файла подкачки (который увеличивает доступную память на размер файла подкачки) будет работать, но это не имеет большого смысла. Он не будет предлагать больше памяти, чем отключение файла подкачки, но все равно потребует от системы запуска алгоритмов подкачки.
источник
Чтобы повторить то, что сказали другие, перенос свопа на прямой RAM-диск является довольно бессмысленным (в наиболее распространенном случае, см. Ниже). Это достигается тем, что в определенный момент, когда системе не хватает свободной памяти, некоторые данные перемещаются из ОЗУ в ОЗУ довольно неэффективным способом.
Замена на HDD / SSD позволяет оператору очистить некоторые полностью неиспользуемые страницы ОЗУ и использовать свободное место, например, для файлового кэша или других системных буферов. Вы можете не осознавать, что система выделяет меньше этих буферов ОЗУ, потому что у вас нет доступной виртуальной памяти без файла подкачки; так что в действительности вы можете остановить свою производительность, отключив своп.
Тем не менее, сжатый RAM-диск как диск подкачки, диск «ZSWAP», может быть полезен в крайних случаях (когда вам может потребоваться всего лишь несколько дополнительных МБ ОЗУ, чтобы избежать переключения на жесткий диск) за счет повышения эффективности использования пространства сегмента ОЗУ до определенная степень.
источник
Если у вас нет файла подкачки, то в случае BSOD (сбой) Windows не сможет записать файл аварийного дампа. Это означает, что вы не сможете проанализировать проблему, используя соответствующие инструменты.
Наличие файла подкачки в ОЗУ практически бесполезно, так как оно может быть потеряно при сбое.
Для получения дополнительной информации см. Статью Microsoft « Общие сведения о файлах аварийных дампов» .
источник
Для Windows, изо рта лошади:
https://blogs.technet.microsoft.com/markrussinovich/2008/11/17/pushing-the-limits-of-windows-virtual-memory/
источник
Не отключайте файл подкачки Это не только для того, когда у вас заканчивается память. Прямое увеличение производительности при его отключении отсутствует , окна читают с него только тогда, когда это необходимо, они записывают в него все время, поэтому они готовы, когда это необходимо.
Вы можете уменьшить его примерно до 2/3 объема памяти, если у вас больше 4 ГБ, потому что он хранит сжатый образ памяти. Вы можете поместить его на свой медленный жесткий диск, к которому нет доступа других тяжелых дисков, если у вас нет места на SSD. Но это выгодно иметь где-то один.
Смотрите этот ответ для получения дополнительной информации о том, почему. https://superuser.com/a/286476/4236
источник
Теоретически, размещение файла подкачки в ОЗУ не имеет никакого смысла, поскольку вы просто исчерпываете то, что якобы получаете, а Windows строится на предположении, что файл подкачки не будет использоваться для таких целей.
Однако на практике некорректный дизайн и философия могут превратить его даже в ядро Windows, и управление памятью от Microsoft не обязательно идеально. Многие обнаружили, что размещение файла подкачки в Ramdisk действительно приводит к увеличению производительности , если у вас есть приличный объем памяти.
Я составил пост, в котором показана коллекция таких пользователей из одной ветки форума, которые обнаружили, что, несмотря на огромное количество свободной оперативной памяти, файл подкачки все еще используется:
http://www.overclock.net/t/1193401/why-it-is-bad-to-store-the-page-file-on-a-ram-disk/290#post_23508589
источник
Virtual memory − A paging file is an area on the hard disk that Windows uses as if it were RAM.
Да, как будто: pКонвертировать ОС, которая была разработана с самого начала, чтобы не использовать своп, намного сложнее, чем кажется.
Современные Mac имеют раздел восстановления - часть основного диска с урезанной ОС, которая может восстанавливать или восстанавливать основную систему. В дни, когда установщик DVD запускал пользовательский процесс, система теперь создает RAM-диск для раздела подкачки, поскольку установщик не может гарантировать наличие свободного дискового пространства. ОС включает в себя необходимые платформы для запуска включенного программного обеспечения для обслуживания, которое идентично утилитам, доступным после установки. Намного меньше работы для всех.
Ограничение системы одним приложением за раз означает, что подкачка ramdisk практически никогда не используется, но ОС ожидает, что она там будет.
источник
Если у вас достаточно памяти, ответ будет: да, вы можете отключить своп. Swap был создан, чтобы преодолеть ограничения оперативной памяти и сделать ее использование более эффективным.
Вопрос сейчас в том, сколько ОЗУ достаточно ОЗУ? На это нет универсального ответа, и по своей природе системы жаждут памяти. Поэтому, если вы не работаете в очень специфической и контролируемой среде, не отключайте своп.
Любые другие виды трюков, такие как установка подкачки в ОЗУ, просто создадут дополнительный уровень сложности и потратят память, которая в противном случае могла бы использоваться напрямую.
источник
Моя система имеет 24 ГБ ОЗУ, поэтому я отключил файл подкачки, чтобы избежать износа моего SSD без каких-либо проблем. Недавно я создал RAM-диск, используя 4 ГБ памяти для хранения файлов Google Chrome Cache, просто чтобы увидеть, увеличит ли он производительность онлайн-игр Flash Player и общего веб-серфинга. Я видел заметное увеличение производительности от этого эксперимента. Поскольку на моем RAM-диске было больше свободного места, я включил свой файл подкачки, установил минимальный и максимальный размер 1 ГБ и переместил его на RAM-диск. Хотя я не могу сказать, что было какое-то повышение производительности, моя система работает более стабильно.
источник
Перемещение файла подкачки в ОЗУ - смешное понятие. Просто выключите его и увеличьте объем ОЗУ. :)
Управление памятью осуществляется процессором, и то, включен ли файл подкачки или нет, не имеет разницы в том, как обрабатываются страницы. Это прозрачно для Windows.
Приоритет страницы не меняется, страницы будут отбрасываться точно так же. Файлы подкачки используются ЦП в качестве вторичного хранилища, а не ОС. Это ничто иное, как второй уровень кеша, когда заканчивается первый уровень (ОЗУ).
Быстрый и очень грязный пример: на моей машине 16 ГБ ОЗУ и нет файла подкачки. 5 минут назад с 13 ГБ в режиме ожидания и только 2 ГБ свободно, я загрузил Fallout 4. Страницы с низким приоритетом были сброшены при загрузке Fallout.
Между прочим, блог Technet 2008 года о расширении ограничений памяти Windows вводит в заблуждение - я бы сказал, что это обман. https://i.stack.imgur.com/wXkmi.png Я тоже сомневаюсь, даже написал ли это Марк, но надеюсь, что нет, так как это изменило бы мою точку зрения на него .....
Между прочим, в статье есть зияющие дыры, которые я ошеломлен, о которых никто не говорил, учитывая, как часто этот блог упоминался
Во всяком случае, вот одно не очень расплывчатое описание:
Windows не может достичь более высоких адресов, чем процессор - это невозможно.
Независимо от того, на что способна ОС, она по-прежнему ограничена аппаратным обеспечением, на котором она работает ... потому что ОС фактически является самим ЦП (внутренние регистры).
Итак, файл подкачки - это область на жестком диске, которую ЦП использует для расширенного физического адресного пространства, когда он не может физически или архитектурно использовать больше ОЗУ.
Например, в 32-разрядной архитектуре x86 имеется два сегмента оперативной памяти по 2 ГБ.
Один выделен ядру. Остальные 2 ГБ предназначены для пользовательского режима. Это все оперативная память, которую ЦП может использовать с 32 выводами DRAM, но 32-битный процесс имеет 4 ГБ, что делать. К счастью, процессор может использовать дополнительное хранилище AKA и жесткий диск для хранения дополнительных 2 ГБ страниц. Потому что он имеет внутренние регистры
. Физические места, где виртуальные страницы, на которые ссылается процесс, не должны храниться в оперативной памяти. Но они хранятся где-то в процессоре.
Процессор не может дать приложению все 4 ГБ ОЗУ, но он может дать ему 4 ГБ адреса, используя жесткий диск в качестве вторичного кеша (что на самом деле и есть весь жесткий диск)
Страницы перемещаются в оперативную память и из нее через внутренний механизм разбиения на страницы, но это не то же самое, что файл подкачки. Пейджинг всегда происходит ....
Суть в том, что все не так сложно. За последние 15 лет у многих конечных пользователей сложилось впечатление, что файл подкачки является неотъемлемой частью операционной системы, а не так. Такого никогда не было. Это заблуждение частично подпитывается такими корпорациями, как Intel и Microsoft.
ОЗУ - это быстрое запоминающее устройство, жесткий диск - более медленное запоминающее устройство, поэтому, по сути, ОЗУ - это кэш-память первого уровня, а жесткий диск - это уровень 2 (без учета кэш-памяти ЦП для этой аналогии). Оба могут быть доступны процессором.
Если процессору недостаточно памяти для хранения страниц, которые ему нужны, жесткий диск можно использовать как переполнение. Если имеется много оперативной памяти, то PF является избыточным.
Вплоть до Core 2 процессоры Intel имели 32-контактную шину DRAM и 32 регистра, что означало, что ЦП имел доступ к 4 ГБ ОЗУ и 4 ГБ пространства на жестком диске (файл подкачки). Это архитектурное аппаратное ограничение, а не ограничение Windows.
Общее количество доступных процессов составило 3,5 ГБ, поскольку таблица страниц занимает 512 МБ. Вот почему 3,5 ГБ появляется в Windows с процессорами Intel (вплоть до Core 2). Добавьте графический процессор и даже меньше доступно.
Xeon может получить доступ к 32 ГБ ОЗУ, 64 ГБ физического пространства с включенным HDD (снова файл подкачки). ( Это ^ относится к PAE, - чтобы добавить ссылки ).
http://www.windowsdevcenter.com/pub/a/windows/2004/04/27/pagefile.html
3-й снимок экрана: бинарный интерфейс приложения System V, добавление к архитектуре процессора AMD64, версия 0.99.7
Я намерен продолжать улучшать этот ответ и добавлять исходный материал и соответствующую информацию. Я бы хотел достичь баланса между нехваткой информации и технической информацией. Предложения приветствуются. Пожалуйста, не понижайте голос только потому, что это не так хорошо написано.
источник