Сколько ОЗУ необходимо для предотвращения использования swap?

В моей системе всегда есть некоторая «свободная» и «неактивная» память, но иногда система перемещает пару мегабайт для обмена. За ночь это может быть около 100 МБ, но в течение нескольких дней при обмене может быть больше 4000 МБ.

Как определить требуемую память для моей системы?

4 Solutions collect form web for “Сколько ОЗУ необходимо для предотвращения использования swap?”

FreeBSD делит память на 5 списков :

  • проводной (заблокирован в памяти, невосстанавливаемый)
  • активный (недавно используется)
  • неактивен (не используется недавно)
  • кэш
  • свободно

Некоторые из них имеют минимальные бесплатные и целевые бесплатные уровни, например

 Pool Minimum Target Free 0.7% 3% Cache 3% 6% Inactive 0% 4.5% 

(Источник: «Разработка и внедрение операционной системы FreeBSD» , скорее датированный 2004 годом, охватывающий FreeBSD 5.2 – с тех пор эти цифры изменились, но общий подход, на мой взгляд, не верен).

Задача pagedaemon заключается в поддержании уровней и подкачки по мере необходимости.

Из FreeBSD 9.0 VM у меня здесь, это некоторые из соответствующих номеров:

 hw.availpages: 3138511 vm.stats.vm.v_inactive_target: 121342 # 3.9% vm.stats.vm.v_free_target: 80895 # 2.6% vm.stats.vm.v_free_reserved: 4011 # 0.1% vm.stats.vm.v_free_min: 19221 # 0.6% vm.stats.vm.v_cache_min: 80895 # 2.6% vm.stats.vm.v_cache_max: 161790 # 5.1% 

(Я не уверен, как они рассчитываются, это зависит от физической памяти и предположительно kern.maxusers ).

FreeBSD будет активно использовать для увеличения доступного кеша, поэтому просто потому, что используется swap, не означает, что ваша система находится под давлением. Гораздо полезнее проверить (и график!) Скорость пейджинга и другие индикаторы загрузки таких дисковых systat -io ввода-вывода и ЦП, systat -io – это начало. Запуск locate / updatedb – хороший способ сменить использование памяти на ночь.

Использование swap, даже если есть свободная память, является нормальным поведением, оно эффективно готовит к возможным будущим потребностям в памяти в режиме ожидания, поэтому использование swap не является надежным способом определения требований к ОЗУ. FreeBSD неплохо расскажет вам, когда вам нужно что-то настраивать (grep «см. Настройку» в файле messages ).

Другое полезное чтение:

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

проверьте значение swappiness:

cat /proc/sys/vm/swappiness

измените значение swappiness, временное (потерянное при перезагрузке), на значение 10 (хорошее значение, которое уменьшает использование swap)

sudo sysctl vm.swappiness=10

если вы хотите изменить его постоянный файл конфигурации использования:

sudo vim /etc/sysctl.conf

найдите vm.swappiness и измените его на желаемое значение.

vm.swappiness=10

сохранить и перезагрузить компьютер.


Дайте описание:

что такое swappines?

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

swappiness может иметь значение от 0 до 100

swappiness = 0 сообщает ядру избегать перекоса процессов из физической памяти как можно дольше

swappiness = 100 сообщает ядру агрессивно менять процессы из физической памяти и перемещать их в своп-кеш

Значение по умолчанию в Ubuntu – swappiness = 60. Уменьшение значения по умолчанию для swappiness, вероятно, улучшит общую производительность для типичной установки рабочего стола Ubuntu. Рекомендуется значение swappiness = 10, но вы можете поэкспериментировать. Примечание. Установки сервера Ubuntu имеют разные требования к производительности для настольных систем, и значение по умолчанию 60, вероятно, более подходит.

мой предыдущий ответ не применяется во FreeBSD, но я оставляю его. Я тестировал его, и он работал как прелесть на debian. для freeBSD вы можете использовать следующую команду из sysctl чтобы узнать, включен ли swap или нет:

 -bash-2.05b$ sysctl vm.swap_enabled vm.swap_enabled: 1 

1 – Включено

0 – отключено

вы можете отключить его, написав следующую строку в /etc/sysctl.conf :

vm.swap_enabled=0

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

В коротком исследовании это указывало: почему по умолчанию установлена ​​swappiness? что объясняет еще более подробно о swappiness

И это: https://www.kernel.org/doc/Documentation/sysctl/vm.txt, в котором объясняются все связанные с vm параметры. Если вы используете управление единой памятью процесса, это может помочь узнать о других ограничениях / параметрах, связанных с памятью.

  • Почему я должен использовать Debian 6 с ядром FreeBSD?
  • отрегулировать настройки zfs на freebsd 9
  • Как запустить Tunefs в корневой файловой системе во FreeBSD?
  • Разница между rc.conf, loader.conf и статическим соединением ядра во FreeBSD
  • Удаление дополнительных компонентов FreeBSD
  • Gnome не запускается в FreeBSD
  • FreeBSD: IPv6 в Jails (ezjail)
  • FreeBSD Clonezilla не восстанавливает
  • Настройка нескольких пользователей
  • Как рассчитывается средняя загрузка для FreeBSD?
  • FreeBSD: поместите файлы сервера на свой собственный раздел / фрагмент
  • Коллекция портов FreeBSD под ПК-BSD?
  • Interesting Posts

    Openssl передает двоичную пропущенную фразу в качестве аргумента

    Сценарий GRUB 2: преобразовать имя устройства в нотации GRUB в имя устройства Linux

    Не удалось отключить ярлык на ubuntu14.04 и debian8

    Как перемещать окна между дисплеями в KDE-KWin

    shell проверяет, содержит ли строка нескольких строк указанный шаблон в последней строке

    Несколько доменов с одним открытым IP-адресом?

    Отладка ошибки сегментации

    Разница между папками и файлами

    Система файлов rootfs.jffs2 не поместится в mtd3

    Шведские символы юникода в xdm / xlogin

    Установите диспетчер пакетов во FreeBSD 10

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

    Если я установлю Fedora 22 Workstation, он в конечном итоге обновится до стабильной версии?

    Перевод конфигурации rdist с несколькими корнями в rsync

    Действительно ли необходимо обновить все пакеты до обновления Fedora с помощью DNF?

    Linux и Unix - лучшая ОС в мире.