Что произойдет, если вы поместите большой файл подкачки

Обновлено: 03.07.2024

Мне просто интересно, можно ли сделать раздел подкачки слишком большим. Если да, когда раздел подкачки слишком велик? Каковы недостатки/плохие последствия наличия слишком большого раздела подкачки (даже если у меня много места на диске)?

Если нет, то в чем преимущества наличия пространства подкачки, превышающего рекомендуемое?

Очевидным недостатком является то, что вы теряете место на диске. OTOH: если у вас «слишком много» подкачки (скажем, 30 ГБ в системе с 4 ГБ), тогда плохо работающие приложения получат нехватку памяти намного позже, и это замедлит работу вашей системы. Приложения с правильным поведением (без утечек памяти) просто не будут его использовать. (Допускаю, это упрощенный вид.)

Я согласен с @PerlDuck - "слишком много подкачки" просто занимает место на диске. Ваша система будет работать медленно, если она начнет использовать swap , в этом случае либо запускайте меньше приложений, либо приложения с меньшим весом, либо получайте больше оперативной памяти

Я знаю, так что, если у вас достаточно оперативной памяти, кроме использования слишком большого дискового пространства, есть ли какие-то недостатки? За исключением, конечно же, «плохих» приложений, как сказал PerlDuck.

VTD Все вопросы в Редактировании оправдывают замену близкой причины с дублирующейся на не по теме как слишком широкую. ОП, очевидно, недоволен, но мета или чат - лучшее место для обсуждения.

Если люди не уверены в том, о чем говорит @PerlDuck (и Panther), обратите внимание, что даже если у вас фактически неограниченное дисковое пространство, наличие большего места для свопинга сделает процессы, которые должны выполняться. просто быть прекращено, и которое в противном случае было бы быстро прекращено автоматически, сначала замедлит работу системы до сканирования в течение длительного времени. Комментарий PerlDuck, я думаю, также послужит ответом. Если мы закончим тем, что снова откроем этот вопрос, возможно, можно будет добавить ответ о недостатках наличия гораздо большего количества свопов, чем необходимо. Потому что есть недостатки.

6 ответов 6

На первый взгляд, у вас не может быть слишком много подкачки, потому что вы можете рассматривать подкачку как способ увеличить объем оперативной памяти. На самом деле это не увеличивает оперативную память, а только делает вид, что: если у вас 8 ГБ реальной оперативной памяти и сконфигурировано пространство подкачки, скажем, 24 ГБ, то ваши программы могут выделять и использовать до 8 +24=32 ГБ памяти, на первый взгляд неплохо.

Если вы запускаете приложения, которые либо имеют утечки памяти, либо не предназначены для работы с 8 ГБ памяти (например, редактирование видео), то эти приложения начнут использовать это пространство подкачки, и подкачка будет выполняться медленно. . Чем больше пространства подкачки активно используется этими приложениями, тем больше система занята простым перемещением памяти на диск и с диска. Это резко снизит скорость отклика системы в целом и приведет к ухудшению работы пользователей.

В конце концов, когда пространство подкачки будет исчерпано, некоторые приложения столкнутся с ситуацией нехватки памяти и будут уничтожены OOM_Killer ядра.

Типичный случай OOM на современных компьютерах происходит, когда операционная система не может больше создавать виртуальную память, потому что все ее потенциальные резервные устройства заполнены.

Заключение

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

Еще одним очевидным недостатком, конечно, является трата места на диске, но в наши дни это может быть не так важно.

+1 за рассмотрение пограничного случая. Лично я не большой поклонник обмена, так как спящий режим предназначен для медведей, и мои системы слишком загружены для этого. ;-) Удачи.

@ElderGeek LOL. На самом деле Элайя Каган заставил меня превратить мой простой комментарий в ответ. Он убедил меня в том, что вышеупомянутый недостаток слишком большого количества свопов имеет решающее значение и может быть важен для других. Я с вами, и у меня настроен небольшой своп (2 ГБ с 8 ГБ ОЗУ), и его почти никогда не трогают.

В большом пространстве подкачки нет прямого недостатка. При том, как оно управляется ядром, увеличение объема подкачки сверх необходимого не оказывает или незначительно влияет на производительность.

Единственным недостатком «слишком большого» пространства подкачки является то, что вы не можете использовать это пространство для хранения.

@An0n: Я думаю, что было бы довольно большим недостатком выделить все ~6 ТБ, подключенные в настоящее время к моей машине, в качестве пространства подкачки. Куда бы я поместил всю свою музыку…?

@An0n: Что хорошего в компьютере, если все, что он может делать, это загружаться, а затем не хранить никаких полезных данных? Это больше похоже на дорогой обогреватель.

@An0n: Конечно, я так и предполагал, но вы упускаете суть. Я думаю, мы можем согласиться с тем, что для того, чтобы быть полезным, компьютер должен быть в состоянии достичь пригодного для использования состояния системы (включая возможность загрузки) и иметь доступ к хранилищу, которое пользователь может использовать для своих личных данных. Для этого необходимо, чтобы он не был занят пространством подкачки.

Конечно, это относительно. Точно так же, как «слишком много» относительно.Если у меня есть загрузочная система, и я выделяю все свое свободное пространство в качестве пространства подкачки, то оно больше не будет мне полезно из-за нехватки свободного места, пока я не изменю конфигурацию его системы таким образом, чтобы в итоге появилось больше свободного места. В этом смысле пространство подкачки будет «слишком большим» в течение этого времени, что сделает систему бесполезной в это время. В любом случае, я здесь не для того, чтобы спорить с вами о семантике слов.

@An0n Чтобы подчеркнуть эту мысль, пространство подкачки — это пространство, которое вы не можете использовать ни для чего другого. Дисковое пространство стоит денег. Если место на вашем диске ограничено (у меня всего 32 ГБ), вы хотите оставить как можно больше свободного места для установки программ и записи файлов с вашим материалом, например музыкой. Люди обычно стараются свести своп к минимуму именно по этой причине и ни по какой другой. Swap — это то, что может понадобиться системе для эффективной работы, но в противном случае это не имеет никакой ценности для пользователя. В общем, мы хотим, чтобы наша система использовала только необходимые ресурсы и оставляла нам много возможностей для игры.

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

Единственные случаи, когда я бы рассмотрел возможность использования более чем 1-кратного размера ОЗУ для раздела подкачки, — это когда вы думаете, что собираетесь увеличить объем ОЗУ в ближайшее время. Или если вы планируете использовать систему, в которой вы будете хранить в своего рода кеше объем памяти, используемый программами, которые не используются в тот же момент.

Надеюсь, моя мысль была достаточно ясной, и я повторяю, что не думаю, что у вас возникнут проблемы из-за слишком большого объема памяти подкачки.

Хорошего дня!

@ElderGeek Привет, нет, я не рассматривал это. Мне нравится ваш ответ, я не знал о проблеме с утечкой памяти!

Пространство подкачки в Linux используется, когда объем физической памяти (ОЗУ) заполнен. Если системе требуется больше ресурсов памяти, а ОЗУ заполнено, неактивные страницы в памяти перемещаются в пространство подкачки. Хотя пространство подкачки может помочь машинам с небольшим объемом ОЗУ, его не следует рассматривать как замену большего объема ОЗУ. Пространство подкачки расположено на жестких дисках, которые имеют более медленное время доступа, чем физическая память.

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

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

Преимущества:

Предоставляет место для переполнения, когда ваша память полностью заполняется. Может перемещать редко используемые элементы из вашей высокоскоростной памяти. Позволяет вам переходить в спящий режим.

Недостатки:

Занимает место на жестком диске, так как разделы подкачки не изменяются динамически. Может увеличить износ жесткого диска. Не обязательно повышает производительность (см. ниже)

Когда разделы подкачки «не помогают», например, «не стоит сравнивать с дополнительным хранилищем»:

Если скорость вашего жесткого диска составляет всего 5400 об/мин, а оперативной памяти мало, скажем, > 2 ГБ. Почему ? Поскольку система постоянно хотела получить доступ к разделу SWAP, в конечном итоге она стала очень медленной. Несмотря на то, что теперь у вас есть место в памяти, все в разделе SWAP необходимо переместить обратно. Поскольку система будет работать медленно, выделение останется в разделе подкачки. Это можно исправить только перезагрузкой. Это в любом случае займет некоторое время, потому что системе необходимо удалить все из раздела SWAP перед выключением.

**Вывод: **

Если вы хотите перевести компьютер в спящий режим, у вас должен быть раздел SWAP. Размер этого раздела должен соответствовать размеру вашей установленной памяти плюс дополнительные 10-25%, чтобы оставить место для любых элементов, которые уже были перемещены в раздел подкачки.

Если вам просто нужно небольшое повышение производительности (и у вас есть жесткий диск со скоростью не менее 7200 об/мин), вы можете добавить раздел подкачки, если хотите, но в этом нет необходимости, если у вас меньше 4 ГБ установленной памяти. Размер этого может быть каким угодно. Однако я рекомендую в 2 раза больше ОЗУ. ЕСЛИ у вас достаточно места для хранения.

Если у вас есть жесткий диск со скоростью 5400 об/мин, вам не следует создавать раздел подкачки только потому, что узкое место ухудшит работу вашего компьютера. Однако, если вы абсолютно хотите иметь SWAP, вы все равно можете создать раздел, используя те же рекомендации по размерам, изложенные выше, но измените значение swappiness на что-то гораздо меньшее.

МОЕ МНЕНИЕ:

Однако в любом случае, если вы используете Ubuntu в качестве основной ОС для повседневного использования, я рекомендую удвоить размер ОЗУ. Потому что вы не устанавливаете Ubuntu только потому, что у вас старый компьютер. А потому, что вы хотите использовать систему в качестве основной ОС.

Лучше купить дополнительное оборудование, если это необходимо, чем настраивать системные разделы, чтобы поддерживать его работу.Если вы покупаете игру, вы также должны убедиться, что ваша система «актуальна», вместо того, чтобы изменять настройки, чтобы сделать ее «играбельной».

Вы можете лучше иметь дополнительное пространство, SWAP, скорость, мощность, вместо того, чтобы иметь слишком мало или изменить размер всего позже. Потому что вам нужен SWAP или место, купили оперативную память? Или вам нужно быстро купить оперативную память, потому что один слот памяти или флешка сломались.

Сколько должен быть размер свопа? Должен ли своп быть в два раза больше размера ОЗУ или должен составлять половину размера ОЗУ? Нужен ли вообще swap, если в моей системе несколько ГБ оперативной памяти?

Возможно, это наиболее часто задаваемые вопросы о выборе размера подкачки при установке Linux.

Ничего нового. Всегда было много путаницы в отношении размера свопа.

Долгое время рекомендуемый размер подкачки вдвое превышал размер ОЗУ, но это золотое правило больше не применимо к современным компьютерам. У нас есть системы с объемом оперативной памяти до 128 ГБ, на многих старых компьютерах нет даже такого объема жесткого диска.

Но какой размер подкачки вы бы выделили для системы с 32 ГБ ОЗУ? 64 ГБ? Это было бы смехотворной тратой места на жестком диске, не так ли?

Прежде чем мы узнаем, какой размер подкачки у вас должен быть, давайте сначала быстро узнаем кое-что о памяти подкачки. Это поможет вам понять, почему используется своп.

Объяснение упрощено для (почти) всеобщего понимания.

Что такое своп? Когда используется своп?

Ваша система использует оперативную память (ОЗУ) при запуске приложения. Когда запущено всего несколько приложений, ваша система справляется с доступной оперативной памятью.

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

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

Звучит круто. Это означает, что если вы выделите около 50 ГБ размера подкачки, ваша система сможет запускать сотни или, возможно, тысячи приложений одновременно? НЕПРАВИЛЬНО!

Видите ли, здесь важна скорость. Данные доступа к RAM в порядке наносекунд. Доступ к данным SSD осуществляется за микросекунды, в то время как обычный жесткий диск обращается к данным за миллисекунды. Это означает, что оперативная память в 1000 раз быстрее, чем SSD, и в 100 000 раз быстрее, чем обычный жесткий диск.

Если приложение слишком сильно зависит от свопа, его производительность снизится, поскольку оно не сможет получить доступ к данным с той же скоростью, что и в ОЗУ. Таким образом, вместо того, чтобы тратить 1 секунду на задачу, выполнение той же задачи может занять несколько минут. Это оставит приложение практически бесполезным. В компьютерных терминах это называется пробуксовкой.

Другими словами, небольшой обмен полезен. Многое из этого будет бесполезным.

Зачем нужен своп?

Есть несколько причин, по которым вам может понадобиться замена.

  • Если в вашей системе ОЗУ менее 1 ГБ, вы должны использовать подкачку, так как большинство приложений скоро исчерпают объем ОЗУ.
  • Если в вашей системе используются ресурсоемкие приложения, такие как видеоредакторы, было бы неплохо использовать некоторое пространство подкачки, поскольку здесь может быть исчерпана ваша оперативная память.
  • Если вы используете режим гибернации, необходимо добавить раздел подкачки, поскольку содержимое ОЗУ будет записываться в раздел подкачки. Это также означает, что размер подкачки должен быть не меньше размера оперативной памяти.
  • Избегайте странных событий, таких как выход программы из строя и потребление оперативной памяти.

Нужен ли своп, если у вас много оперативной памяти?

Это действительно хороший вопрос. Если у вас 32 ГБ или 64 ГБ ОЗУ, скорее всего, ваша система никогда не будет использовать всю ОЗУ и, следовательно, никогда не будет использовать раздел подкачки.

Но рискнете ли вы? Я предполагаю, что если в вашей системе 32 ГБ ОЗУ, у нее также должен быть жесткий диск на 100 ГБ. Не помешает выделить пару ГБ подкачки. Это обеспечит дополнительный уровень «стабильности», если неисправная программа начнет неправильно использовать ОЗУ.

Можно ли использовать Linux без свопа?

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

На самом деле такой дистрибутив, как Ubuntu, автоматически создает файл подкачки размером 2 ГБ. Это должно дать вам указание на то, что рекомендуется иметь некоторое пространство подкачки.

Не волнуйтесь, если вы не создали раздел подкачки при установке Linux. Вы всегда можете создать файл подкачки в Linux в любое время.

Рекомендуется к прочтению

Файлы подкачки позволяют создавать и использовать пространство подкачки "на лету" в Linux. Вы можете легко создавать их, изменять их размер или удалять в соответствии с вашими потребностями.

Сколько должен быть размер свопа?

Теперь возникает большой вопрос. Каким должно быть идеальное пространство подкачки для установки Linux?

И проблема здесь в том, что нет однозначного ответа на этот вопрос о размере подкачки. Есть только рекомендации.

Разные люди по-разному относятся к идеальному размеру свопа. Даже основные дистрибутивы Linux не имеют одинаковых рекомендаций по размеру подкачки.

Если вы согласны с предложением Red Hat, они рекомендуют размер подкачки, равный 20 % ОЗУ, для современных систем (т. е. 4 ГБ ОЗУ или выше).

  • Двойной размер ОЗУ, если ОЗУ меньше 2 ГБ.
  • Размер ОЗУ + 2 ГБ, если объем ОЗУ превышает 2 ГБ, т. е. 5 ГБ подкачки на 3 ГБ ОЗУ.

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

В противном случае рекомендуется:

  • Если ОЗУ меньше 1 ГБ, размер подкачки должен быть не меньше размера ОЗУ и не более чем в два раза превышать его размер.
  • Если объем ОЗУ превышает 1 ГБ, размер подкачки должен быть как минимум равен квадратному корню из объема ОЗУ и не должен превышать размер ОЗУ в два раза.
  • Если используется спящий режим, размер подкачки должен быть равен размеру ОЗУ плюс квадратный корень из размера ОЗУ.

Запутались? Я знаю, что это сбивает с толку. Вот почему я создал эту таблицу, которая даст вам рекомендуемый размер подкачки Ubuntu в зависимости от размера вашей оперативной памяти и потребности в спящем режиме.

< tr> < td>20 ГБ
Размер ОЗУРазмер подкачки (без гибернации) Размер подкачки (с гибернацией)
256MB 256MB 512MB
512MB 512MB 1 ГБ
1 ГБ 1 ГБ 2 ГБ
2 ГБ 1 ГБ 3 ГБ
3 ГБ 2 ГБ 5 ГБ
4 ГБ 2 ГБ 6 ГБ
6 ГБ 2 ГБ 8 ГБ
8 ГБ 3 ГБ 11 ГБ
12 ГБ 3 ГБ 15 ГБ
16 ГБ 4 ГБ
24 ГБ 5 ГБ 29 ГБ
32 ГБ< /td> 6 ГБ 38 ГБ
64 ГБ 8 ГБ 72 ГБ
128 ГБ 11 ГБ 139 ГБ

Какой размер подкачки вы используете?

Ответ никогда не бывает простым. Как я уже говорил ранее, в течение долгого времени было рекомендовано, чтобы подкачка была в два раза больше оперативной памяти. На самом деле мой выпуск Dell XPS 13 Ubuntu имеет размер подкачки 16 ГБ для 8 ГБ ОЗУ. Так что даже Dell решила придерживаться золотого правила swap=2xRAM.


Крис Хоффман

< бр />

Крис Хоффман
Главный редактор

Крис Хоффман – главный редактор How-To Geek. Он писал о технологиях более десяти лет и два года был обозревателем PCWorld. Крис писал для The New York Times, давал интервью в качестве эксперта по технологиям на телевизионных станциях, таких как NBC 6 в Майами, и освещал свою работу в таких новостных агентствах, как BBC. С 2011 года Крис написал более 2000 статей, которые были прочитаны почти миллиард раз — и это только здесь, в How-To Geek. Подробнее.


Согласно старому эмпирическому правилу, ваш файл подкачки или файл подкачки должен быть "удвоить объем ОЗУ" или "в 1,5 раза увеличить объем ОЗУ". Но действительно ли вам нужен файл подкачки объемом 32 ГБ или файл подкачки, если у вас 16 ГБ оперативной памяти?

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

Назначение файла подкачки или раздела подкачки

Во-первых, давайте вспомним истинное назначение файла подкачки в Windows или раздела подкачки в Linux. Оба обеспечивают дополнительную рабочую память для вашего компьютера. Например, если на вашем компьютере 2 ГБ оперативной памяти и вы открываете большое количество программ или большое количество файлов, вашему компьютеру может потребоваться хранить 3 ГБ данных в своей рабочей памяти. Компьютер сохраняет этот дополнительный 1 ГБ данных в файле подкачки или в пространстве подкачки. Файл подкачки или подкачка действует как область «переполнения» для хранения дополнительных данных. Ваш компьютер автоматически передает данные обратно в оперативную память, когда он используется, и перемещает данные в свой файл подкачки или раздел подкачки, когда он не используется.

Если вы использовали старый настольный компьютер, вы могли увидеть это после того, как на некоторое время свернули настольную программу. Когда вы позже максимизировали его, потребовалось бы некоторое время, чтобы он появился, и вы бы услышали, как ваш жесткий диск скрежещет, пока мигает индикатор активности диска — его данные перемещаются обратно из вашего файла подкачки или раздела подкачки в его ОЗУ.Оперативная память намного быстрее, чем файл подкачки или раздел подкачки. (Это гораздо реже встречается на современных компьютерах, которые имеют достаточный объем оперативной памяти для хранения настольных программ в оперативной памяти.)

Большинство приложений ожидают получить запрошенный объем памяти. Если ваша оперативная память была заполнена и у вас не было файла подкачки, а затем вы открыли другую программу, программа, скорее всего, вылетит. Наличие файла подкачки с дополнительным пространством, которое могут использовать программы, предотвращает это.


Другое использование файла подкачки и разделов подкачки

Windows и Linux также используют файл подкачки и пространство подкачки для других целей:

  • Краш-дампы Windows. В Windows файл подкачки используется для создания аварийных дампов. Для создания полного дампа памяти размер файла подкачки должен быть не меньше размера физической памяти + 1 МБ. Для дампов памяти ядра файл подкачки должен иметь размер не менее 800 МБ в системах с 8 ГБ ОЗУ или более. Большинству людей не нужны полные дампы памяти, но дампы ядра могут быть полезны. Требуемый файл подкачки размером 800 МБ довольно мал, но для этого необходимо оставить файл подкачки включенным и не отключать его. (Эта информация взята из публикации Understanding Crash Dumps на Microsoft TechNet.)
  • Гибернация Linux. В системах Linux гибернация — состояние отключения питания, при котором содержимое ОЗУ вашей системы сохраняется на диск, чтобы его можно было перезагрузить при повторной загрузке, — сохраняет содержимое ОЗУ системы в раздел подкачки. Это также может называться «приостановить на диск». Вы можете предположить, что вам нужен раздел подкачки размером с вашу оперативную память для перехода в спящий режим, но на самом деле вам просто нужен раздел подкачки размером с используемую вами оперативную память — так что, если вы регулярно используете только 4 ГБ из ваших 16 ГБ оперативной памяти, вы можете перейти в спящий режим на раздел подкачки размером 4 ГБ. Однако, если вы использовали более 4 ГБ ОЗУ, вы не сможете перейти в спящий режим. Часто безопасно выбрать раздел подкачки, равный размеру вашей оперативной памяти. Обратите внимание, что это относится только к спящему режиму — если вы никогда не планируете переводить компьютер в спящий режим, вам не нужно об этом беспокоиться. (Windows переходит в спящий режим, сохраняя данные в файл C:\hiberfil.sys, поэтому файл подкачки не используется при переходе в спящий режим в Windows.)


Реальный вопрос: сколько памяти вы используете?

Не существует единого жесткого правила, которое бы определяло, какой объем пространства подкачки или подкачки вам необходим. Ответ зависит от того, что вы делаете со своим компьютером и сколько памяти вы используете. Например, если у вас есть 8 ГБ памяти, но вы никогда не использовали больше этих 8 ГБ, вы можете обойтись вообще без пространства подкачки или подкачки — вероятно, в конечном итоге вам, конечно, понадобится больше 8 ГБ. С другой стороны, у вас может быть компьютер с 64 ГБ памяти, но он может регулярно работать с наборами данных объемом 100 ГБ — вам, вероятно, потребуется как минимум 64 ГБ пространства подкачки или подкачки просто для безопасности. Таким образом, компьютеру с 8 ГБ ОЗУ может не понадобиться файл подкачки, а компьютеру с 64 ГБ ОЗУ может потребоваться огромный файл подкачки. Все зависит от того, что делает компьютер.

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


Windows может управлять им автоматически

В Windows файл подкачки хранится в папке C:\pagefile.sys. По умолчанию Windows автоматически управляет размером этого файла. Он начинается с малого и вырастает до потенциально большего размера, если вам это нужно. Мы рекомендуем позволить Windows самостоятельно обрабатывать размер файла подкачки. Он не должен занимать много места на системном диске. Если ваш файл подкачки занимает много места на системном диске, это потому, что вам нужен был такой большой файл подкачки в прошлом, и Windows автоматически увеличила его размер для вас.

Например, в системе Windows 8.1 с 4 ГБ ОЗУ размер нашего файла подкачки в настоящее время составляет всего 1,8 ГБ. У нас не так много оперативной памяти, но Windows использует небольшой файл подкачки, пока нам не понадобится больше.


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

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

«причина настройки размера файла подкачки не изменилась. Всегда речь шла о поддержке аварийного дампа системы, если это необходимо, или о расширении лимита фиксации системы, если это необходимо. Например, если установлено много физической памяти, файл подкачки может не потребоваться для резервного копирования платы за фиксацию системы во время пиковой нагрузки. Одной доступной физической памяти может быть достаточно для этого».

Другими словами, все зависит от того, сколько памяти вам действительно понадобится — общий объем доступной памяти является «пределом фиксации системы».

Linux требует выбора

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

Каждый дистрибутив Linux использует свой собственный установщик, и каждый дистрибутив Linux имеет определенную логику в своем установщике, которая автоматически пытается выбрать подходящий размер раздела подкачки. Дистрибутивы Linux обычно используют размер вашей оперативной памяти, чтобы определить размер вашего раздела подкачки. При установке Ubuntu типичный размер раздела подкачки по умолчанию, по-видимому, равен размеру вашей оперативной памяти плюс дополнительные полгигабайта или около того. Это гарантирует, что режим гибернации будет работать правильно.

Если вы создаете разделы вручную в установщике Linux, размер оперативной памяти плюс 0,5 ГБ — это хорошее практическое правило, которое гарантирует, что вы действительно сможете перевести систему в режим гибернации. Как правило, места подкачки должно быть более чем достаточно. Если у вас большой объем оперативной памяти — 16 ГБ или около того — и вам не нужен режим гибернации, но вам нужно место на диске, вы, вероятно, можете обойтись небольшим разделом подкачки размером 2 ГБ. Опять же, это действительно зависит от того, сколько памяти на самом деле будет использовать ваш компьютер. Но на всякий случай неплохо было бы иметь место подкачки.


Старое эмпирическое правило «двойной размер ОЗУ» применялось к компьютерам с 1 или 2 ГБ ОЗУ. Не существует универсального ответа на вопрос, сколько файла подкачки или места подкачки вам нужно. Все зависит от программ, которыми вы пользуетесь, и от того, что им нужно. Если вы не уверены, почти всегда хорошей идеей будет придерживаться настроек вашей операционной системы по умолчанию.

  • › Почему не следует отключать виртуальную память на Mac
  • › Какую файловую систему Linux следует использовать?
  • › Как установить Arch Linux на ПК
  • › Является ли EndeavourOS самым простым способом использования Arch Linux?
  • › Дампы памяти Windows: для чего они нужны?
  • › Легко понять использование оперативной памяти Linux с помощью Smem
  • › Что означает XD и как вы его используете?
  • › 7 основных функций Microsoft Excel для составления бюджета

Пространство подкачки — это область на жестком диске. Это часть виртуальной памяти вашей машины, которая представляет собой комбинацию доступной физической памяти (ОЗУ) и пространства подкачки. Swap содержит временно неактивные страницы памяти. Пространство подкачки используется, когда ваша операционная система решает, что ей нужна физическая память для активных процессов, а объем доступной (неиспользуемой) физической памяти недостаточен. Когда это происходит, неактивные страницы из физической памяти затем перемещаются в пространство подкачки, освобождая эту физическую память для других целей. Обратите внимание, что время доступа для подкачки медленнее, в зависимости от скорости жесткого диска. Не считайте это полной заменой физической памяти. Пространством подкачки может быть выделенный раздел подкачки (рекомендуется), файл подкачки или комбинация разделов подкачки и файла(ов) подкачки.

Зачем мне своп?

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

Гибернация (приостановка на диске) Функция гибернации (приостановка на диске) записывает содержимое ОЗУ в раздел подкачки перед выключением машины. Следовательно, ваш раздел подкачки должен быть не меньше размера вашей оперативной памяти. Хотя последние версии Ubuntu не поддерживают спящий режим OOTB, вы можете настроить свою систему так, чтобы разрешить гибернацию. В обоих вариантах (PM-UTILS или SYSTEMD) вы можете использовать раздел или файл.

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

Оптимизация использования памяти Поскольку механические жесткие диски значительно медленнее ОЗУ (SSD — твердотельный накопитель — хранилище не так медленно, как физические диски, но все же медленнее, чем ОЗУ), когда вам нужен файл (будь то файл данных, например видео, исполняемые файлы, такие как Firefox, или библиотеки), ядро ​​Linux считывает файл в оперативную память и хранит его там, так что в следующий раз, когда он вам понадобится, он уже находится в оперативной памяти, и доступ к данным осуществляется намного быстрее. Части оперативной памяти, которые ускоряют чтение с диска, называются «кэшированной памятью». Вы заметите, что они имеют огромное значение с точки зрения отзывчивости. Ядро Linux автоматически перемещает ОЗУ, зарезервированное программами, но на самом деле не используемое, в раздел подкачки, чтобы он лучше служил для расширения кэшированной памяти.

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

Сколько свопов мне нужно?

Для менее 1 ГБ физической памяти (ОЗУ) настоятельно рекомендуется, чтобы пространство подкачки, как минимум, было равно объему ОЗУ. Кроме того, рекомендуется, чтобы пространство подкачки было не более чем в два раза больше объема ОЗУ в зависимости от объема доступного для системы места на жестком диске из-за убывающей отдачи.

Для более современных систем (> 1 ГБ) пространство подкачки должно быть как минимум равно размеру вашей физической памяти (ОЗУ) «если вы используете спящий режим», в противном случае вам потребуется минимум round(sqrt(RAM)) и максимум в два раза больше оперативной памяти. Единственным недостатком большего объема подкачки, чем вы фактически будете использовать, является место на диске, которое вы будете для него резервировать.

"Убывающая отдача" означает, что если вам нужно больше места подкачки, чем удвоенный размер ОЗУ, вам лучше добавить больше ОЗУ, так как доступ к жесткому диску (HDD) примерно на 10³ медленнее, чем доступ к ОЗУ, поэтому что-то, что займет 1 секунда, вдруг занимает более 15 минут! И еще больше минуты на быстром твердотельном накопителе (SSD).

Примеры сценариев

(последние 3 столбца обозначают пространство подкачки)

Как добавить больше свопа?

Swap обычно ассоциируется с разделом подкачки, возможно, потому, что пользователю предлагается создать раздел подкачки во время установки. По сути, в качестве устройства подкачки можно использовать любой файл, будь то раздел или обычный файл. Подкачку можно добавить, увеличив размер раздела подкачки или добавив файл подкачки. Имейте в виду, что при создании файла подкачки он может не обязательно использовать непрерывные блоки диска (как раздел подкачки), и это может отрицательно сказаться на производительности, поскольку время доступа к диску может быть больше, и чем больше ваша система использует обмен, тем хуже будет. Ядро Linux также напрямую обращается к блоку ввода-вывода блока подкачки, минуя все кэширование, метаданные и код файловой системы, поэтому файл подкачки не должен оказывать вредного влияния на стабильность вашей базовой файловой системы. Начиная с ядра 2.6.29 система подкачки автоматически поддерживает устройства с поддержкой TRIM, такие как твердотельные накопители.

Преимуществ у файла подкачки много, но он проблематичен при использовании стандартного метода гибернации swsusp для бездействующего сна. Лучшее решение для сохранения возможности перехода в спящий режим после добавления оперативной памяти — увеличить размер раздела подкачки.

Читайте также: