Zahl der mysql Prozesse und ihr memory Verbrauch

FiX

Registered User
Hi.

Bei mir bauen sich nach einem mysql start im laufe von 1-2 Tagen ca. 14 mysql Prozesse auf, die von anfangs ca 1.5% memuse pro Prozess (anfangs sind es 8) auf ca 15% memuse wachsen (was praktisch eigentlich gar nicht geht, weil das deutlich mehr ist als der verwendete arbeitsspeicher - auch wenn man die paar MB benutzten swap dazurechnet).

Das ganze passiert recht langsam, so dass ich das Gefühl habe, dass irgendwas falsch läuft. Wenn ich den mysql prozess dann neustarte fängt es wieder von vorne an.

Ich verwende eine 4.x mysql Version.

Gibt es vielleicht eine Einstellung die falsch gestellt ist, die dieses starke Ansteigen des RAM Verbrauchts erklären könnte?
 
FiX said:
was praktisch eigentlich gar nicht geht, weil das deutlich mehr ist als der verwendete arbeitsspeicher - auch wenn man die paar MB benutzten swap dazurechnet
Da es sich hier um Forks handelt (also geteilte Prozesse), die den selben Programmspeicher verwenden, ist eine Addition vom memuse-Angaben grundsätzlich falsch.

huschi.
 
Ah ok danke, das erklärt dann warum ich auf über 100% kam.

Und die Zahl der mysql Prozesse? Beim apache kann man ja einstellen wieviele er idle bereit halten soll - gibt es sowas für mysql auch? Denn jetzt sind 30 mysql Prozesse auf momentan, aber immer nur 3-4 in Benutzung, die anderen "liegen rum".
 
Hallo,
bei mir tritt ähnliches auf.

Server
CPU: Dual-Core AMD Opteron 1212 HE
RAM: 2 GB
OS: Debian Etch 4 (64 bit)

Status
htop said:
16x mysql, selber Befehl
VIRT (Virtueller Speicher): 151M
RES (Residenter, nicht-swappender Speicher): 46596
SHR (Shared Memory): 6408
S (Prozess-Status): S
MEM% (Prozentualer Speicherverbrauch): 1.9

12x apache2, selber Befehl
VIRT: 109M - 148M
RES: 24648 - 35204
SHR: 692 - 8916
S: S
MEM%: 1.0 - 1.4

Sind diese Werte ok ?
Wenn ich das richtig verstehe, sind das alles schlafende Prozesse.
Ist es möglich, diese und weitere automatisch nach einer bestimmten Zeit beenden zu lassen ?
 
Last edited by a moderator:
Verringere in MySQL die MaxConnection und in der Apache-Konfig die Einstellungen zum MPM-Prefork.

huschi.
 
Back
Top