Сколько ОЗУ необходимо для предотвращения использования 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 параметры. Если вы используете управление единой памятью процесса, это может помочь узнать о других ограничениях / параметрах, связанных с памятью.

  • Как подойти к планированию иерархии файловой системы файлового сервера BSD
  • Измените исходный код драйвера и скомпилируйте
  • Как рассчитывается средняя загрузка для FreeBSD?
  • FreeBSD Clonezilla не восстанавливает
  • Freebsd: брандмауэр pf не работает при перезагрузке
  • Расположение паролей пользователей в FreeBSD
  • Таблицы маршрутизации. Каков эффект флага RTF_IFSCOPE?
  • Концептуальная разница между Linux и (бесплатно) ядром BSD
  • Преобразовать .fnt в .ttf?
  • Почему я не могу импортировать пул ZFS без разделения диска данных на fdisk?
  • Получить имя устройства и точку подключения, если известна метка раздела
  • Interesting Posts

    Поиск файла в каталоге через скрипт bash

    Разрешения NFS и медленная копия

    Установка новой файловой системы влияет на нерекурсивные привязки привязок?

    Можно ли назначить несколько команд одной горячей клавише? (bash, xterm)

    Есть ли какая-нибудь утилита или плагин, который включает текущий каталог в истории bash?

    Фоновый процесс сценария по-прежнему сохраняется после закрытия терминала

    Почему патчи grsecurity не включены в ядро ​​Vanilla?

    Не удается запустить su после изменения прав доступа к файлу su

    Зависимости Debian для ttyecho

    grep caret, похоже, не имеет эффекта

    Различное поведение systemctl приостанавливается при выполнении с помощью привязки ключа i3 wm

    Двойная установка загрузки не имеет эффекта (без GRUB), Boot-Repair не помогает

    Привязать ключ к пользовательскому скрипту в feh

    Существуют ли какие-либо программы создания комиксов?

    AH00534: httpd: Ошибка конфигурации: нет загрузки MPM

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