Betriebssystemebene und MySQL

Betriebssystemebene und MySQL

Ich habe gerade gelesen, dass eine falsche Konfiguration von innodb_buffer_pool_size zu Paging auf Betriebssystemebene führen kann. Weiß jemand, wie das passieren kann und wie man das verhindern kann? Derzeit verwende ich CentOS 4 und MySQL 5.0.41

Antwort1

OrtMemlock-Optionin my.cnf. In CentOS5 verhinderte SELinux das Sperren des mysqld-Prozesses im Speicher und ich musste mein eigenes Modul erstellen, um dies zu ermöglichen.

Eine weitere Möglichkeit ist die VerwendungGroße Seiten, das immer im Speicher verbleibt. Sie müssen daran denken, ulimit -l unlimitedin Ihrem mysqld-Startskript Folgendes zu platzieren:

Antwort2

Einfach ausgedrückt: Um Paging zu vermeiden, müssen Sie die Puffergröße klein genug halten, damit sie vollständig in den Speicher passt, zusammen mit allem anderen, wofür das Betriebssystem den Speicher verwendet. Wenn der Gesamtspeicherbedarf größer wird als der physische Speicher, wird er ausgelagert. Wenn Sie keinen Swap-Speicher haben, muss etwas kaputt gehen.

Antwort3

Wenn Sie Swap auf Ihrem Computer aktiviert haben und Ihre Pufferpools größer sind als Ihr physischer Arbeitsspeicher, führt dies dazu, dass Daten auf die Festplatte ausgelagert werden, um Arbeitsspeicher für Ihre Pufferpools freizugeben. Verhindern Sie dies, indem Sie Swap deaktivieren oder sicherstellen, dass MySQL nie genug physischen Arbeitsspeicher verbraucht, um ausgelagert zu werden.

verwandte Informationen