Уровень ОС и MySQL

Уровень ОС и MySQL

Я только что прочитал, что неправильная конфигурация innodb_buffer_pool_size может вызвать подкачку на уровне ОС. Кто-нибудь знает, как это может произойти и как это предотвратить? В настоящее время я использую CentOS 4 и MySQL 5.0.41

решение1

Местоопция блокировки памятив my.cnf. В CentOS5 SELinux предотвращал блокировку процесса mysqld в памяти, и мне пришлось создать свой собственный модуль, чтобы включить это.

Другая возможность — использоватьБольшие страницы, который всегда находится в памяти. Вы должны помнить, что нужно поместить ulimit -l unlimitedв скрипт запуска mysqld

решение2

Проще говоря, чтобы избежать подкачки, вам нужно сделать размер буфера достаточно маленьким, чтобы он полностью помещался в памяти вместе со всем остальным, для чего ОС использует память. Если общие требования к памяти становятся больше, чем физическая память, она выгружается. Если у вас нет места подкачки, что-то должно сломаться.

решение3

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

Связанный контент