MySQL-Server braucht zu viel Arbeitsspeicher?

6 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Das hat einen einfachen Grund: Ein SQL Server hat eigendlich immer die selbe Vorgehensweise, sobald du querys absetzt und Daten selektiert werden, bleiben diese Daten im Arbeitsspeicher, da dadurch der Zugriff beim 2. mal viel schneller gelingt (Die meisten Programme verwenden ähnliche querys immer wieder, daher macht das Sinn).

Der Zugriff auf den RAM ist wesentlich schneller als auf die Festplatte.

Der SQL Server gibt speicher erst dann wieder frei wenn der Arbeitsspeicher ausgeschöpft ist. (Bei manchen SQL Servern kann man sowas auch noch etwas konfigurieren und einschränken).

500 MB RAM sind sehr wenig, ich habe Programme geschrieben die zum Teil sehr große Datenmengen verarbeiten, dadurch habe ich meinen SQL Server prozess schon auf bis zu 14GB bekommen, der nimmt sich alles was er kriegen kann um die Performance zu optimieren, im besten Fall hast du die Gesamte Datenbank im Arbeitsspeicher.

Dennis14e 
Fragesteller
 13.12.2012, 21:54

Erstmal Danke für deine Antwort.

Das was du schreibst verstehe ich, nur habe ich noch keine SQL Anfragen verschickt.. Wie gesagt: Frisch installiert. Früher hatte ich solche Probleme nicht. Was kann es sein?

Ich werde morgen wahrscheinlich den vServer nochmal neu installieren, wäre aber trotzdem toll wenn du weiter antworten würdest (wenn das Problem dann z.B. immer noch nicht behoben ist)

MfG Dennis14e

0
toterbiber  13.12.2012, 22:00
@Dennis14e

Puh das ist natürlich wiederrum seltsam, mein MySQL server verbraucht ganz neu gestartet 29MB in etwas, glaub ich. Ich habe den auf meinem Netbook zusammen mit Apache laufen und das hat nur 1GB RAM, da hatte ich auch selten Arbeitsspeicherprobleme durch MySQL. Ich dachte eher dass du von einer Umgebung redest, die vllt schon ein paar Stunden oder Tage läuft.

1
Dennis14e 
Fragesteller
 13.12.2012, 22:25
@toterbiber

hm..

Wenn du auch Debian (squeeze) verwendest, könntest du mir deine sources.list zukommen lassen? Ich habe das Gefühl das mit meinen Sourcen irgendetwas nicht stimmt. Habe den vServer gerade neu aufgesetzt und alles geupdatet, RAM voll.

MfG Dennis14e

0
Minihawk  13.12.2012, 23:33
@Dennis14e

Es ist sehr unwahrscheinlich, dass es an den Sourcen liegt. RAM wird gerne mit Cache gefüllt.

0

Um die Größe von Prozessen herauszufinden, nimmt man eher top und drück dann Shift +M Wie groß ist denn deine Datenbank? Wenn MySQL auf Performance konfiguriert wurde, nimmt er auch mehr Speicher. Sieh dir mal die ganzen Einstellungen an, vor allem die Parameter mit Cache im Namen.

Woher ich das weiß:Berufserfahrung – Seit langer Zeit als Systemadministrator tätig

Hallo!

Ab mySQL 5.5 ist InnoDB die standard Storage Engine. Diese braucht mehr Speicher als MyISAM. Falls du lieber ausschließlich MyISAM benutzen möchstest, kannst du InnoDB in der /etc/mysql/my.cnf folgenden Eintrag hinzufügen:

skip-innodb

Es kommt ganz auf die verwendete Installation an, ein Server mit 512kB ist für aktuelle Ubuntu (und wahrscheinlich auch Debian)-Versionen etwas mager. Ich bin mit 512KB nie (auch 2008 nicht!) glücklich geworden, es sollten schon 1GB bis 1,5GB sein.

Mit deiner Grafik kann ich gar nix anfangen, mach mal nen Top-Ausdruck

Konsole: top oder top -c eingeben

Dennis14e 
Fragesteller
 14.12.2012, 14:54

Hier mal der Screenshot von top -c http://dennis14e.space8.de/upload/screen109.png

MfG Dennis14e

0
Minihawk  14.12.2012, 15:13
@Dennis14e

Den vielen Speicher holt sich Mysql als VIRT, als RES nur 40MB. Jeder Appache-Prozess holt sich virtuell 180mb, insgesamt weit mehr als 512MB, nur die RES-Werte interressieren. Die Speicher-Situation ist völlig normal.

0
Havege  14.12.2012, 20:00
@Dennis14e

Warum hast du kein SWAP ? Oder seh ich das gerade falsch (ich find gerade wirklich meine Brille nicht, kein Witz)

SWAP ist wichtig zur Speicherverwaltung, und in dem Fall von so wenig RAM auch zum Auslagern.

0

Läuft der Server denn langsam?

Generell ist es ansonsten kein Problem, sondern völlig normales verhalten.

Dennis14e 
Fragesteller
 14.12.2012, 14:58

Ja, er läuft langsam. Ich hatte sogar schon Probleme Pakete zu installieren da der RAM voll war ..

MfG Dennis14e

0