MySQL - RAM

MySQL, PostgreSQL, SQLite
aubergine
Posts: 471
Joined: 2005-09-10 17:52
Location: Frankfurt am Main

MySQL - RAM

Post by aubergine » 2007-09-01 23:02

Hi,

ich schaue mir derzeit ein System in meiner Firma an.
Das Problem ist in etwa das selbe wie hier nur sind die Gegebenheiten etwas anders.

Hardware:

- 2 mal Quad Core Xeon EMT64
- Intel Board
- 12GB RAM

Software:

- MySQL mysql-max-4.1.22-unknown-linux-gnu-x86_64-icc-glibc23
- Debian Etch 64Bit


Dien Konfiguration des MySQL Server wurde heute so angepasst dass dieser 25GB RAM verwenden könnte.
Der MySQL Server nutzt allerdings nur 1GB RAM und den Rest krallt sich das OS.

Code: Select all

Mem:  12288936k total, 12060304k used,   228632k free,    80084k buffers
Swap: 14908240k total,       76k used, 14908164k free, 11066680k cached


Auf dem Rechner läuft nur MySQL welcher den RAM der nicht vom OS gecached wurde in Anspruch nimmt.

Die Datenbanken darauf sind zusammen etwa 12GB Diskspace groß.

Der Query Cache funktioniert wunderbar ist jedoch nur ein Bruchteil des Hardware mäßig machbaren:

Code: Select all

mysql> SHOW STATUS LIKE '%qcache%';
+-------------------------+------------+
| Variable_name           | Value      |
+-------------------------+------------+
| Qcache_free_blocks      | 3350       |
| Qcache_free_memory      | 6405171816 |
| Qcache_hits             | 129359     |
| Qcache_inserts          | 79460      |
| Qcache_lowmem_prunes    | 0          |
| Qcache_not_cached       | 4846       |
| Qcache_queries_in_cache | 19371      |
| Qcache_total_blocks     | 42482      |
+-------------------------+------------+
8 rows in set (0.00 sec)



Die Einstellungen sind so gewählt dass tuning-primer.sh sagt:


Max Memory Ever Allocated : 9 G
Configured Max Per-thread Buffers : 29 G
Configured Max Global Buffers : 8 G
Configured Max Memory Limit : 37 G
Total System Memory : 25.93 G

Max memory limit exceeds 85% of total system memory




Woran kann es liegen dass MySQL absolut keine Lust hast nach und nach sämtliche Daten in den RAM zu legen un nur 1GB speicher verwendet?

Es ist mir unbekannt wie tuning-primer.sh auf "Max Memory Ever Allocated : 9 G" kommt, Fakt ist es waren laut free noch nie mehr als 1,5GB RAM durch MySQL benutzt - was durch ein Monitoring System hinterlegt ist.

User avatar
Joe User
Project Manager
Project Manager
Posts: 11137
Joined: 2003-02-27 01:00
Location: Hamburg

Re: MySQL - RAM

Post by Joe User » 2007-09-01 23:21

Es werden ~11GB gecached und ein minimales Etch plus MySQL sollte nicht mehr als ~3GB belegen, womit mindestens ~8GB der MySQL-Datenbanken im RAM wären...

aubergine
Posts: 471
Joined: 2005-09-10 17:52
Location: Frankfurt am Main

Re: MySQL - RAM

Post by aubergine » 2007-09-01 23:41

Joe User wrote:Es werden ~11GB gecached und ein minimales Etch plus MySQL sollte nicht mehr als ~3GB belegen, womit mindestens ~8GB der MySQL-Datenbanken im RAM wären...


Klingt logisch.

Ist es also der Fall dass MySQL überhaupt kein Interesse daran hat diese Aufgabe selbst zu übernehmen und dies dem Kernel überlässt?