MySQL erzeugt hohe CPU-Auslastung

DHMH

New Member
Hey,

ich habe ein Problem mit meinem Root Server.
Habe einen mit einer Bi Xeon E5606 CPU (2x4x2,13 GHz) und 24GB RAM.
Auf dem Server läuft Debian Squeeze 64bit.

Nun ist das Problem, dass MySQL kontinuierlich eine hohe CPU-Auslastung erzeugt, obwohl keine Queries laufen.
Wie kann sowas passieren?
Habe soweit nur die Standardconfig, aber auch mit (durch MySQLTuner bzw. dem Tuning-Primer) optimierter Config läufts nicht besser.

Danke im Voraus.
 
Top:
Code:
top - 14:43:20 up 10:33,  1 user,  load average: 0.01, 0.04, 0.05
Tasks: 361 total,   1 running, 360 sleeping,   0 stopped,   0 zombie
Cpu(s): 45.8%us,  4.2%sy,  0.0%ni, 50.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  24743508k total,  3029184k used, 21714324k free,   129140k buffers
Swap:   523804k total,        0k used,   523804k free,  1731088k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
10732 mysql     20   0  499m  54m 7312 S  325  0.2 112:55.94 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mys
13067 root      20   0 19368 1628 1020 R   72  0.0   0:00.34 top
    1 root      20   0  8396  792  664 S    0  0.0   0:02.00 init [2]
    2 root      20   0     0    0    0 S    0  0.0   0:00.00 [kthreadd]
    3 root      20   0     0    0    0 S    0  0.0   0:01.14 [ksoftirqd/0]
    6 root      RT   0     0    0    0 S    0  0.0 192:24.80 [migration/0]
    7 root      RT   0     0    0    0 S    0  0.0   0:00.00 [migration/1]
    8 root      20   0     0    0    0 S    0  0.0   0:00.00 [kworker/1:0]
    9 root      20   0     0    0    0 S    0  0.0   0:00.54 [ksoftirqd/1]
   10 root      20   0     0    0    0 S    0  0.0   0:01.72 [kworker/0:1]
   11 root      RT   0     0    0    0 S    0  0.0 456:26.09 [migration/2]
   12 root      20   0     0    0    0 S    0  0.0   0:00.00 [kworker/2:0]
   13 root      20   0     0    0    0 S    0  0.0   0:00.44 [ksoftirqd/2]
   14 root      RT   0     0    0    0 S    0  0.0   0:00.00 [migration/3]
   15 root      20   0     0    0    0 S    0  0.0   0:00.00 [kworker/3:0]
   16 root      20   0     0    0    0 S    0  0.0   0:00.34 [ksoftirqd/3]
   17 root      RT   0     0    0    0 S    0  0.0 533:25.84 [migration/4]
   19 root      20   0     0    0    0 S    0  0.0   0:00.80 [ksoftirqd/4]
   20 root      RT   0     0    0    0 S    0  0.0   0:00.00 [migration/5]
   21 root      20   0     0    0    0 S    0  0.0   0:00.00 [kworker/5:0]
   22 root      20   0     0    0    0 S    0  0.0   0:00.36 [ksoftirqd/5]
   23 root      RT   0     0    0    0 S    0  0.0   0:00.00 [migration/6]
   24 root      20   0     0    0    0 S    0  0.0   0:00.00 [kworker/6:0]
   25 root      20   0     0    0    0 S    0  0.0   0:00.32 [ksoftirqd/6]
   26 root      RT   0     0    0    0 S    0  0.0   0:00.00 [migration/7]
   27 root      20   0     0    0    0 S    0  0.0   0:00.00 [kworker/7:0]
   28 root      20   0     0    0    0 S    0  0.0   0:00.23 [ksoftirqd/7]
   29 root       0 -20     0    0    0 S    0  0.0   0:00.00 [cpuset]
   30 root       0 -20     0    0    0 S    0  0.0   0:00.00 [khelper]
   31 root      20   0     0    0    0 S    0  0.0   0:00.00 [kdevtmpfs]
   32 root       0 -20     0    0    0 S    0  0.0   0:00.00 [netns]
  426 root      20   0     0    0    0 S    0  0.0   0:00.07 [sync_supers]
  428 root      20   0     0    0    0 S    0  0.0   0:00.00 [bdi-default]
  429 root       0 -20     0    0    0 S    0  0.0   0:00.00 [kintegrityd]
  431 root       0 -20     0    0    0 S    0  0.0   0:00.00 [kblockd]
  593 psaadm    20   0  235m  14m  10m S    0  0.1   0:00.19 /usr/bin/sw-engine-cgi -c /opt/psa/admin/conf/php.ini -d auto_prepend_file=auth.php3 -u psaad
  596 root       0 -20     0    0    0 S    0  0.0   0:00.00 [ata_sff]
  606 root      20   0     0    0    0 S    0  0.0   0:00.00 [khubd]
  613 root       0 -20     0    0    0 S    0  0.0   0:00.00 [md]
  621 psaadm    20   0  248m  29m  14m S    0  0.1   0:00.13 /usr/bin/sw-engine-cgi -c /opt/psa/admin/conf/php.ini -d auto_prepend_file=auth.php3 -u psaad
  622 psaadm    20   0  245m  23m  10m S    0  0.1   0:00.07 /usr/bin/sw-engine-cgi -c /opt/psa/admin/conf/php.ini -d auto_prepend_file=auth.php3 -u psaad
  623 psaadm    20   0  235m 4580   48 S    0  0.0   0:00.00 /usr/bin/sw-engine-cgi -c /opt/psa/admin/conf/php.ini -d auto_prepend_file=auth.php3 -u psaad
  768 root       0 -20     0    0    0 S    0  0.0   0:00.00 [rpciod]
  769 root       0 -20     0    0    0 S    0  0.0   0:00.00 [kvm-irqfd-clean]
  770 root      20   0     0    0    0 S    0  0.0   0:01.46 [kworker/6:1]
  855 root      20   0     0    0    0 S    0  0.0   0:00.00 [kswapd0]
  856 root      20   0     0    0    0 S    0  0.0   0:00.00 [kswapd1]
  857 root      25   5     0    0    0 S    0  0.0   0:00.00 [ksmd]
  858 root      20   0     0    0    0 S    0  0.0   0:00.00 [fsnotify_mark]

Scheinbar laufen 110 MySQL Threads bzw. Prozesse auf dem Server oO
 
Tabellen vielleicht defekt?
Datenbanken sichern + mysqlcheck mal laufen lassen?

110 Threads? So viele?
Wer erzeugt die denn?
Irgendwo Software, welche dauernd connects macht und nicht freigibt?
 
Wenn man sich die "Load average" Werte ansieht, dann scheint das Ding aber nix zu tun zu haben. Auch ein CPU-Wert von 72% für top ist IMHO ungewöhnlich.
Möglicherweise ist es gar kein MySQL-Problem, sondern die CPU-Werte werden allgemien falsch angezeigt...
 
Wenn MySQL gestartet ist, ist direkt nach dem Start die Seite schön schnell - 10 Sekunden später geht die Last hoch und nix geht mehr .. (also hinsichtlich der Webseiten)
 
100 Threads, das ist das Maximum, welches in /etc/mysql/my.cnf steht.

Mit welcher Software erzeugst du die Seiten?
 
Code:
    6 root      RT   0     0    0    0 S    0  0.0 192:24.80 [migration/0]
   11 root      RT   0     0    0    0 S    0  0.0 456:26.09 [migration/2]
   17 root      RT   0     0    0    0 S    0  0.0 533:25.84 [migration/4]
Das würde ich mir zuerst ansehen.

Ich tippe einfach mal blind auf einen Wackelkontakt an einem der Kabel, oder eine nicht richtig eingesteckte Karte.

Alternativ könnte das OS (Kernel/Treiber) defekt sein.
 
Habe es jetzt auf nem anderen Server getestet (bei Hetzner, der oben genannte gehört OVH) - scheint an meinem CMS zu liegen (selfmade :D )
 
Ich hatte ja nach Software gefragt, die viele connects macht und nicht freigibt.
Du musst mal deinen Code überarbeiten ;)
 
Gelöst :D
Es gibt eine Tabelle, die hat über 1.000.000 Datensätze .. da sollte man bei WHERE-Klauseln zumindest über die Spalten nen gescheiten Index drüber haben.
Jetzt läufts wie geschmiert!
 
Back
Top