У вас слишком много свопов?

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

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

12
задан 26 March 2018 в 15:30

12 ответов

Что такое SWAP:

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

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

Swap должен равняться 2x физической памяти.

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

Предоставляет пространство переполнения, когда ваша память полностью заполняется. Может двигаться редко (d7)

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

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

Когда разделы SWAP «Не помогают», как в «Недопустимый по сравнению с дополнительными storage ":

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

** Conclussion: **

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

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

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

[ ! d23]

Мое МНЕНИЕ:

Однако в любом случае, если вы используете Ubuntu в качестве основной ОС для ежедневного использования, я Мое МНЕНИЕ: 2x размер ОЗУ. Потому что вы не устанавливаете Ubuntu только потому, что у вас старый компьютер. Но потому, что вы хотите использовать систему в качестве основной ОС.

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

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

1
ответ дан 17 July 2018 в 18:34

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

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

4
ответ дан 17 July 2018 в 18:34

На самом деле есть накладные расходы, но они очень малы; для каждой «на странице» есть ссылочный счетчик, и есть пара структур, связанных с каждой областью подкачки; это в памяти ядра, поэтому нельзя выгружать страницы. В зависимости от архитектуры он составляет от 2 до 16 МБ каждые 4 ГБ. Остальное довольно динамично, поэтому зависит от использования.

Таким образом, у вас может быть много, но имейте в виду, что адресное пространство с надписью накладывает некоторые накладные расходы на ОЗУ, и, кроме того, происходит некоторое отслеживание для swapped-страниц, поэтому он не масштабируется очень далеко, файловые системы намного эффективнее больших областей подкачки, когда дело доходит до обработки больших областей, поскольку vfs может выгружать структурную информацию на диск (обычно таблицы страниц не могут быть заменены, поскольку аппаратные ограничения).

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

Обмен обычно является последним ресурсом (спящий режим), поэтому вы, вероятно, не будете иметь больше, чем ОЗУ, если у вас более 4 ГБ , а иногда даже большой, чем RAM, слишком много (думаю, 64 ГБ).

0
ответ дан 17 July 2018 в 18:34

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

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

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

Приятного дня!

4
ответ дан 17 July 2018 в 18:34

Нет

На первый взгляд у вас не может быть слишком много swap, потому что вы можете видеть swap как способ увеличить RAM. На самом деле он не увеличивает оперативную память, он просто притворяется: если у вас есть 8 ГБ реальной ОЗУ и место подкачки, скажем, 24 ГБ, то ваши программы могут выделять и использовать до 8 + 24 = 32 ГБ памяти (! d1)

Но

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

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

Из OOM_Killer :

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

Заключение

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

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

5
ответ дан 17 July 2018 в 18:34

Сколько SWAP действительно нуждается в спящем режиме?

Это неправильное представление о том, что вам нужна RAM x 2 для размера SWAP при использовании спящего режима. Размер подкачки должен быть размером используемой ОЗУ, а не установленной ОЗУ. Обычно размер подкачки должен быть 2/5-й установленной ОЗУ. Чтобы узнать минимальный объем оперативной памяти, необходимый для использования:

$ cat /sys/power/image_size 3153907712

На этой машине с 8 ГБ оперативной памяти требуется три гигабайта для гибернации.

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

Ссылка: https://wiki.archlinux.org/index.php/Power_management/Suspend_and_hibernate

ОЗУ 16 МБ в 1995 году, разные правила для 16-гигабайтной оперативной памяти в 2018 году

В те дни, когда у вас было 16 МБ RAM, x 2 для замены 32 МБ на вашем жестком диске 720 МБ имело смысл. Немного информации о RAM и HDD в этом https://wiki.archlinux.org/index.php/Power_management/Suspend_and_hibernate .

Спустя 23 года некоторые технические статьи из этого 1995 года (хотя я и не нашел их) могли бы ввести в заблуждение новых пользователей. Тем не менее, я нашел статью 2007 года, рекомендующую SWAP = RAM x 2.

Еще в 1995 году 32 МБ. Сменный жесткий диск с 760 МБ был 4% от HDD. Действительно, раздел подкачки, возможно, много использовался в 1995 году. Сегодня в 2018 году 16 ГБ ОЗУ x 2 для 32 ГБ SWAP на вашем 256 ГБ SSD не имеет такого же смысла, как и на 13% SSD. Сегодня мой 8-Гбайтовый раздел SWAP вообще не используется, если я не заставляю его заполнять его при тестировании OOM-Killer: SWAP = RAM x 2 .

1
ответ дан 17 July 2018 в 18:34

Что такое SWAP:

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

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

Swap должен равняться 2x физической памяти.

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

Предоставляет пространство переполнения, когда ваша память полностью заполняется. Может двигаться редко (d7)

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

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

Когда разделы SWAP «Не помогают», как в «Недопустимый по сравнению с дополнительными storage ":

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

** Conclussion: **

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

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

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

[ ! d23]

Мое МНЕНИЕ:

Однако в любом случае, если вы используете Ubuntu в качестве основной ОС для ежедневного использования, я Мое МНЕНИЕ: 2x размер ОЗУ. Потому что вы не устанавливаете Ubuntu только потому, что у вас старый компьютер. Но потому, что вы хотите использовать систему в качестве основной ОС.

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

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

1
ответ дан 23 July 2018 в 19:22

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

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

4
ответ дан 23 July 2018 в 19:22
  • 1
    @ An0n: Я думаю, что было бы довольно большой недостаток выделить все ~ 6 TB, которые в настоящее время подключены к моей машине в качестве места подкачки. Куда бы я поместил всю свою музыку ...? – David Foerster 20 March 2018 в 02:25
  • 2
    @ An0n: Что хорошего в компьютере, если все, что он может сделать, это загрузить, а затем не хранить какие-либо полезные данные? Это звучит скорее как дорогой космический обогреватель. – David Foerster 20 March 2018 в 02:30
  • 3
    @ An0n: Конечно, я предполагал, что много, но вам не хватает смысла. Я думаю, мы можем согласиться с тем, что для того, чтобы быть полезным, компьютер должен иметь возможность достичь работоспособного состояния системы (включая возможность загрузки) и иметь доступ к хранилищу, который пользователь может использовать для своих персональных данных. Это требует, чтобы он не занимался пространством подкачки. – David Foerster 20 March 2018 в 02:40
  • 4
    Конечно, это относительно. Так же, как «слишком много». является относительным. Если у меня есть загрузочная система, и я выделяю все свое свободное пространство в качестве пространства подкачки, тогда мне это уже не полезно из-за нехватки свободного места, пока я не изменю свою конфигурацию системы таким образом, чтобы это заканчивалось более свободным пространством. В этом смысле пространство подкачки будет «слишком большим». за это время система становится бесполезной в течение этого времени. Во всяком случае, я не здесь, чтобы спорить с вами семантику слов. – David Foerster 20 March 2018 в 03:26
  • 5
    @ An0n Чтобы подчеркнуть точку здесь, пространство подкачки - это пространство, которое вы не можете использовать ни для чего другого. Объем дискового пространства стоит денег. Если ваше дисковое пространство ограничено (у меня всего 32 ГБ), вы хотите сохранить как можно больше возможностей для установки программ и записи файлов с вашими вещами в них, например музыкой. По этой причине люди обычно пытаются свести к минимуму своп, и нет никакой другой причины. Swap - это то, что может потребоваться системе для эффективной работы, что в противном случае не имеет значения для пользователя. В общем, мы хотим, чтобы наша система использовала только необходимые ресурсы и оставила нам много возможностей для игры. – Zanna 24 March 2018 в 19:48

На самом деле есть накладные расходы, но они очень малы; для каждой «на странице» есть ссылочный счетчик, и есть пара структур, связанных с каждой областью подкачки; это в памяти ядра, поэтому нельзя выгружать страницы. В зависимости от архитектуры он составляет от 2 до 16 МБ каждые 4 ГБ. Остальное довольно динамично, поэтому зависит от использования.

Таким образом, у вас может быть много, но имейте в виду, что адресное пространство с надписью накладывает некоторые накладные расходы на ОЗУ, и, кроме того, происходит некоторое отслеживание для swapped-страниц, поэтому он не масштабируется очень далеко, файловые системы намного эффективнее больших областей подкачки, когда дело доходит до обработки больших областей, поскольку vfs может выгружать структурную информацию на диск (обычно таблицы страниц не могут быть заменены, поскольку аппаратные ограничения).

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

Обмен обычно является последним ресурсом (спящий режим), поэтому вы, вероятно, не будете иметь больше, чем ОЗУ, если у вас более 4 ГБ , а иногда даже большой, чем RAM, слишком много (думаю, 64 ГБ).

0
ответ дан 23 July 2018 в 19:22

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

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

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

Приятного дня!

4
ответ дан 23 July 2018 в 19:22
  • 1
    Я вообще не использую swap, если RAM & gt; 2-4 Гб на одном рабочем столе пользователя. – Panther 18 March 2018 в 23:00
  • 2
    @ Пантера Почему нет? И это не о том, как и когда вы его используете. Его размер и использование. – An0n 20 March 2018 в 03:01
  • 3
  • 4
    @ElderGeek Привет, нет, я не считал это. Мне нравится ваш ответ, я не знал о проблемах с утечкой памяти! – zurg 10 April 2018 в 20:02

Нет

На первый взгляд у вас не может быть слишком много swap, потому что вы можете видеть swap как способ увеличить RAM. На самом деле он не увеличивает оперативную память, он просто притворяется: если у вас есть 8 ГБ реальной ОЗУ и место подкачки, скажем, 24 ГБ, то ваши программы могут выделять и использовать до 8 + 24 = 32 ГБ памяти (! d1)

Но

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

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

Из OOM_Killer :

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

Заключение

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

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

5
ответ дан 23 July 2018 в 19:22
  • 1
    +1 для рассмотрения краевого случая. Лично я не большой поклонник обмена, поскольку спячка для медведей, и мои системы слишком заняты для этого. ;-) Приветствия. – Elder Geek 8 April 2018 в 19:05
  • 2
    @ElderGeek LOL. Фактически Элиадж Каган заставил меня превратить мой простой комментарий в ответ. Он убедил меня в том, что вышеупомянутый недостаток слишком большого обмена - это важная вещь и может быть важна для других. Я с вами и имею небольшую своп-конфигурацию (2 ГБ с 8 ГБ оперативной памяти), и она почти никогда не трогается. – PerlDuck 8 April 2018 в 19:23
  • 3
    У меня были аналогичные результаты с аналогичными настройками, я бы хотел, чтобы слух о 2-м обмене окончательно погиб. – Elder Geek 10 April 2018 в 23:08

Сколько SWAP действительно нуждается в спящем режиме?

Это неправильное представление о том, что вам нужна RAM x 2 для размера SWAP при использовании спящего режима. Размер подкачки должен быть размером используемой ОЗУ, а не установленной ОЗУ. Обычно размер подкачки должен быть 2/5-й установленной ОЗУ. Чтобы узнать минимальный объем оперативной памяти, необходимый для использования:

$ cat /sys/power/image_size 3153907712

На этой машине с 8 ГБ оперативной памяти требуется три гигабайта для гибернации.

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

Ссылка: https://wiki.archlinux.org/index.php/Power_management/Suspend_and_hibernate

ОЗУ 16 МБ в 1995 году, разные правила для 16-гигабайтной оперативной памяти в 2018 году

В те дни, когда у вас было 16 МБ RAM, x 2 для замены 32 МБ на вашем жестком диске 720 МБ имело смысл. Немного информации о RAM и HDD в этом https://wiki.archlinux.org/index.php/Power_management/Suspend_and_hibernate .

Спустя 23 года некоторые технические статьи из этого 1995 года (хотя я и не нашел их) могли бы ввести в заблуждение новых пользователей. Тем не менее, я нашел статью 2007 года, рекомендующую SWAP = RAM x 2.

Еще в 1995 году 32 МБ. Сменный жесткий диск с 760 МБ был 4% от HDD. Действительно, раздел подкачки, возможно, много использовался в 1995 году. Сегодня в 2018 году 16 ГБ ОЗУ x 2 для 32 ГБ SWAP на вашем 256 ГБ SSD не имеет такого же смысла, как и на 13% SSD. Сегодня мой 8-Гбайтовый раздел SWAP вообще не используется, если я не заставляю его заполнять его при тестировании OOM-Killer: SWAP = RAM x 2 .

1
ответ дан 23 July 2018 в 19:22
  • 1
    +1 для указания неправильного представления часто рекламируемого правила 2x, которое является полной койкой. – Elder Geek 8 April 2018 в 19:09
  • 2
    @ElderGeek Спасибо. Я добавил раздел истории о том, когда 16 МБ оперативной памяти 2 для 32 МБ SWAP может иметь смысл. – WinEunuuchs2Unix 8 April 2018 в 20:22

Другие вопросы по тегам:

Похожие вопросы: