Назад | Перейти на главную страницу

много баранов, но все равно меняются местами

это график моей серверной оперативной памяти

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

Вы не упоминаете никаких проблем с производительностью, просто используете swap.

Это совершенно нормально.

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

Это можно отрегулировать с помощью параметра ядра vm.swappiness, но в целом он работает и так, как есть, и его настройка, чтобы не использовать подкачку, часто ухудшает, а не улучшает производительность. Хорошее объяснение того, что именно эта регулировка, можно найти в этом вопросе: https://unix.stackexchange.com/questions/32333/what-does-the-vm-swappiness-parameter-really-control

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

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

       http://northernmost.org/blog/find-out-what-is-using-your-swap/

Опять же, как Грант предлагает параметр vm.swappiness для базы данных, такой как Oracle, RedHat предлагает уменьшить его до 10 (по умолчанию установлено на 60) и в основном используется алгоритмом.

       swap_tendency=mapped_ratio/2 + distress + vm_swappiness


    if swap_tendency < 100 kernel will reclaim a page from page cache
    if swap_tendency >=100 Page will be eligible for swap 

Также есть скрипт настройки mysql, но, пожалуйста, проверьте его в тестовой среде перед применением в производстве. http://mysqltuner.com/

Также теперь MySQL поддерживает огромные страницы, которые нельзя заменять, и вы увидите улучшение производительности по мере уменьшения размера TLB и увеличения количества попаданий в кеш. http://dev.mysql.com/doc/refman/5.0/en/large-page-support.html