Kom ihåg mig?
Home Menu

Menu


mysql trådar/processer

 
Ämnesverktyg Visningsalternativ
Oläst 2006-05-29, 09:56 #1
Conths avatar
Conth Conth är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Aug 2005
Inlägg: 908
Conth Conth är inte uppkopplad
Mycket flitig postare
Conths avatar
 
Reg.datum: Aug 2005
Inlägg: 908
Jag har haft frågan uppe förut men har inte löst den.

Jag har en rykande minnesåtgång på servern som kör mysql version 5.0.16 på Linux
I top och ps ser jag massa mysql PROCESSER. Vad jag förstår är det inte trådar jag ser eftersom dom har egen pid!? Dvs jag ser dom i ps utan -m flaggan.

I top står det att varje mysql process tar c:a 10% av minnet. Jag har alltid trott att det är trådar jag ser dvs att detta är den totala minnesåtgången för mysql MEN jag har skruvat ner minnesparametrarna i my.cnf lägre och lägre och ändå swappar servern. Det enda som körs på den är LAMP.
Något är fel - kan det vara så illa att mysql verkligen kör varje "tråd" som en egen process !? Tycker att jag borde ha haft ännu större minnesproblem då - därför har jag antagit att detta inte var fallet - men nu börjar jag bli osäker....
150 processer som tar 10% var av minnet enligt top - det blir rätt många procent totalt... ;-)

Någon som kan hjälpa mig att bringa klarhet!? Kan man köra mysqld "forkande" isf trådad??
Conth är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-05-29, 11:09 #2
kullervos avatar
kullervo kullervo är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Dec 2003
Inlägg: 1 519
kullervo kullervo är inte uppkopplad
Bara ett inlägg till!
kullervos avatar
 
Reg.datum: Dec 2003
Inlägg: 1 519
Det du ser i ps, top etc. är processer och inte enskilda trådar. Nästan allt minne som varje mysqld-processer använder är samma som alla andra mysqld-processer använder (det vore helt orimligt om varje process skulle hålla en egen kopia av databasen i minnet). Exakt hur mycket minne som alla mysqld-processer tar upp tillsammans är apsvårt att se (googla lite på ämnet "memory usage" för att förstå problemen med hur ett OS ska mäta det). Räkna med att den totala minnesanvändningen för mysqld är samma som för en enskild mysqld-process. Varje mysqld-process drar ju lite eget minne också vilket börjar spela roll om du har hundratals igång samtidigt.

Lite OT:
Du kan inte länka binärer 100% statiskt i linux så även om du dragit ner de förkompilerade binärerna så länkar de mot bland annat glibc osv vilket också räknas som minnesanvändning i linux trots att du kanske har 500 andra processer igång i datorn som delar på exakt samma minne.
kullervo är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-05-29, 11:14 #3
Conths avatar
Conth Conth är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Aug 2005
Inlägg: 908
Conth Conth är inte uppkopplad
Mycket flitig postare
Conths avatar
 
Reg.datum: Aug 2005
Inlägg: 908
OK, men är detta något som är ändrat till version 5? Vi har en gammal version på en annan server där kör mysqld som EN process med x antal trådar. Dvs en process i ps men många trådar om man kör ps -m.

Du säger att det är normalt att mysql version 5 kör med en PROCESS för varje "tråd" - och att detta inte ska leda till högre minnesutnyttjande - fattar jag dig rätt?! I så fall är mitt minnesproblem på något annat ställe...

*EDIT stavfel
Conth är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-05-29, 13:16 #4
kullervos avatar
kullervo kullervo är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Dec 2003
Inlägg: 1 519
kullervo kullervo är inte uppkopplad
Bara ett inlägg till!
kullervos avatar
 
Reg.datum: Dec 2003
Inlägg: 1 519
Visste inte att man kunde se antalet trådar en process kör med ps. Om du kör en glibc med NPTL borde mysqld endast få en rad i ps. Jag är inte så hemma på hur NPTL fungerar (och inte någon annan trådmodell heller för den delen) så jag kan inte utala mig så mycket om det. På datorn jag sitter på just nu kör jag endast med NPTL och då får mysqld bara en rad i ps. Apache däremot får en rad för varje process. Jag antar att det har med att jag kör prefork som MPM.

Jag har bara erfarenhet av mysql 4.
kullervo är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-05-29, 13:30 #5
Conths avatar
Conth Conth är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Aug 2005
Inlägg: 908
Conth Conth är inte uppkopplad
Mycket flitig postare
Conths avatar
 
Reg.datum: Aug 2005
Inlägg: 908
Hmm, Jag vet inget i detalj om hur trådning i sig hanteras i mysql. Jag vet inte ens vad NPTL betyder...

Någon som kör mysql 5 som bara kan berätta hur det ser ut hos er - eller någon som vet mer om detta??

Jag tycker det känns konstigt att det är 150 mysqld processer uppe och kör... Hur delar dom på minne om det är olika processer??
Det finns inget shared memomry segment allokerat vad jag kan se (med ipcs)
Conth är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-05-29, 15:50 #6
grazzy grazzy är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Mar 2004
Inlägg: 3 471
grazzy grazzy är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Mar 2004
Inlägg: 3 471
Jag har sett samma beteende som du ser nu Conth, det är lite olika hit och dit och ärligt talat så har jag inte orkat bemöda mig om att verifiera det.

kullervo har dock rätt när han säger att du inte kan lita på minnesanvändningen som anges i ps (med eller utan en tråd för varje anslutning) eftersom alla bibliotek som används av många processer delas i minnet. Den enklaste lösningen (som jag ser det) är att kolla om du har ledigt ram kvar.. om inte - köp mer
grazzy är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-05-29, 23:54 #7
Conths avatar
Conth Conth är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Aug 2005
Inlägg: 908
Conth Conth är inte uppkopplad
Mycket flitig postare
Conths avatar
 
Reg.datum: Aug 2005
Inlägg: 908
Jag har redan köpt mer och ändå har jag konfigurerat mysql väldigt snålt. Har 3GB och drar runt 300 samtidiga användare (inloggade inom 5 minutersperiod). Trots detta swappar servern och har väldigt hög load. Känns som jag missar något...
Conth är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-05-31, 20:05 #8
kullervos avatar
kullervo kullervo är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Dec 2003
Inlägg: 1 519
kullervo kullervo är inte uppkopplad
Bara ett inlägg till!
kullervos avatar
 
Reg.datum: Dec 2003
Inlägg: 1 519
Citat:
Originally posted by Conth@May 29 2006, 22:54
Jag har redan köpt mer och ändå har jag konfigurerat mysql väldigt snålt. Har 3GB och drar runt 300 samtidiga användare (inloggade inom 5 minutersperiod). Trots detta swappar servern och har väldigt hög load. Känns som jag missar något...
Det är garanterat inte MySQL som drar mycket minne då. 10% av 3GiB+swap är inte mycket. Hur många httpd-processer kör du samtidigt? Vilken ver? Har du bantat Apache på onödiga moduler etc?
kullervo är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-06-01, 12:30 #9
Conths avatar
Conth Conth är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Aug 2005
Inlägg: 908
Conth Conth är inte uppkopplad
Mycket flitig postare
Conths avatar
 
Reg.datum: Aug 2005
Inlägg: 908
Tack för tipset - ska undersöka Apache lite mer.
Har inte optimerat det och det är en gammal version (Server version: Apache/1.3.34 )

Typiskt går det kanske 200 httpd processer i hög last.

Hade varit kul om någon visste mer om frågan angående mysql dock. Verkar väldigt hemligt. Jag lyckas inte hitta något om detta!?
Har dom ändrar från EN trådad process till forkade processer ?!? eller är förklaringen en annan till att det visas som processer (inte trådar) i top och ps fr.o.m version 5!?
Conth är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-06-03, 02:28 #10
Rooss avatar
Roos Roos är inte uppkopplad
Nykomling
 
Reg.datum: Jul 2004
Inlägg: 45
Roos Roos är inte uppkopplad
Nykomling
Rooss avatar
 
Reg.datum: Jul 2004
Inlägg: 45
Intressant diskussion!
Har själv sett samma sak med mysql från top och ps men inte undersökt det närmare då totala minnesanvändningen aldrig varit något problem.
Roos är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 01:29.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017