
Я использую Debian Squeeze 6.0.5. Замедляет ли использование памяти подкачки работу моего компьютера? Если да, то как уменьшить размер памяти подкачки после того, как система уже установлена?
решение1
Не всегда хочется его уменьшать, но часто вместо этого следует увеличивать его ленивое использование — чем больше чистых страниц уже находится в подкачке, тем лучше, это означает, что их можно легко вывести из ОЗУ, когда нужна свободная ОЗУ. Однако у Linux VM есть странное поведение относительно подкачки — интенсивный дисковый ввод-вывод (например, огромный файл cp
) может сделать вашу систему подкачкой нежелательной. Это можно смягчить в некоторой степени с помощьюуменьшение vm.swappinness
иувеличивается vfs_cache_pressure
хотя эффект от таких контрмер не всегда оправдывает ожидания. Я думаю, что также имеет смысл упомянутьzswapздесь — для некоторых рабочих нагрузок это может быть полезно.
решение2
Чтобы временно отключить подкачку, используйте (как root) команду:
swapoff -a
Чтобы включить его снова:
swapon -a
Чтобы отключить его навсегда, отредактируйте файл /etc/fstab
и закомментируйте все строки с заменой в столбце типа.
Больше подкачки не всегда повышает производительность. Бывают моменты, когда лучше уменьшить ее или отключить — все зависит от набора приложений.
Я быстро погуглил и нашёл вот такую хорошую статью на эту тему:
https://www.linux.com/news/software/applications/8208-all-about-linux-swap-space
решение3
Подкачка в основном служит двум целям. Она позволяет системе продолжать работать, когда физическая память заканчивается ценой производительности — если физическая память заканчивается без нее, вы получаете сбои, зависания и завершение процессов с ошибками нехватки памяти в ту секунду, когда они запрашивают больше памяти, чем есть у системы. Снижение производительности в этом случае является симптомом того, что ее вынуждены использовать для активных процессов, а не симптомом слишком большого объема подкачки.
Это также позволяет более эффективно использовать физическую память, перемещая редко используемые страницы памяти на диск до тех пор, пока они снова не понадобятся. Это освобождает память для целей кэширования, что обычно является более эффективным использованием пространства, чем простое хранение редко используемых сегментов программной памяти в физической памяти.
Давняя передовая практика заключается в том, чтобы размер swap-пространства был в два раза больше физической памяти, другими словами, если у вас 1 ГБ оперативной памяти, выделите 2 ГБ для swap. Это все еще хороший совет, но на практике более современные системы с 4 ГБ или более физической памяти обычно могут уменьшить его до того же объема swap, что и физическая память системы.
Есть несколько вещей, которые вы можете сделать, чтобы улучшить производительность при использовании подкачки. Если у вас несколько дисков, рекомендуется переместить подкачку на более быстрый или менее используемый жесткий диск, и в системе с очень ограниченным вводом-выводом вы можете получить значительное увеличение производительности, сделав это. Для традиционных жестких дисков может помочь перемещение подкачки ближе к центру физического диска, так как время поиска в центре обычно короче из-за меньшего перемещения головок диска.
Замена SSD-накопителя также может существенно помочь, но я хотел бы предупредить вас, что это может привести к значительному износу SSD-накопителя и сократить срок его службы.
Конечно, лучшим решением для повышения производительности памяти обычно является установка большего объема оперативной памяти. Если вы посмотрите на использование памяти и увидите активное использование подкачки при небольшом количестве или отсутствии свободной памяти, это верный признак того, что пришло время инвестировать в дополнительную оперативную память.
решение4
Использование его делает, наличие его там нет. Замедление произойдет, если вы запустите слишком много программ, пожирающих память, одновременно, что приведет к использованию свопа.
Если вы действительно хотите уменьшить его, загрузите LiveCD, запустите его gparted
и измените размер раздела.