[Apache & PHP] limit memory usage?

Pagina: 1
Acties:

  • Willem2
  • Registratie: Oktober 2000
  • Laatst online: 30-04 11:02

Willem2

Ω is futile

Topicstarter
Ik heb dus een (linux) server waar meerdere gebruikers op zitten met virtuele domeinen.

Dit werkt prima, totdat iemand een php script opstart dat bijvoorbeeld zichzelf aanroept. PHP komt in een loop, apache loopt uit zijn geheugen (>300Mb) en de server crashed uiteindelijk...

Nou had ik in httpd.conf dit opgegeven voor elke virtuele server:

RLimitCPU 50
RlimitMem 15000000
RlimitNPROC 50

Maar dit blijkt alleen voor geforkte CGI processen te zijn...

Wat ik dus wil vragen: weet iemand hoe ik dit wel goed kan instellen?

en nee, ik houd niet van voetbal... :)


  • Hmmbob
  • Registratie: September 2001
  • Laatst online: 18:35
in je php.ini de max exec time instellen?

op maximaal 30 seconden ofzo?

Sometimes you need to plan for coincidence


  • MikeN
  • Registratie: April 2001
  • Laatst online: 09-05 11:12
PHP met memlimit compilen? Tis maar een idee, die optie is er niet voor niets :P

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 13:24

deadinspace

The what goes where now?

Je kunt ook (mits je systeem PAM gebruikt) het maximale geheugengebruik van de user www-data beperken. Zie /etc/security/limits.conf.

Maar crashte de machine helemaal? Dat is sowieso niet de bedoeling. Als Apache het geheugengebruik tot 100% drijft dan hoort Apache een mep van de OOM-killer te krijgen.

  • Willem2
  • Registratie: Oktober 2000
  • Laatst online: 30-04 11:02

Willem2

Ω is futile

Topicstarter
geheugen gebruik zat al ruim binnen 30sec aan zijn tax; dus max exec gaat me niet helpen...

wat betreft '--enable-memory-limit', houdt deze zicht dan aan de memory instelling in de php.ini? Kan niet zoveel documentatie vinden over deze configure switch...

PAM gebruik ik niet, dus dat is geen optie.

Wat crashen betreft; hij was nog niet helemaal dood, maar ssh werkte nauwelijks, na een tijdje niet meer. Er kwam nog wel een reply op een ping. Misschien als ik langer gewacht had, dat de OOM-killer had ingegrepen, maar dat vond ik een beetje riskant experiment gisteravond... :-)

en nee, ik houd niet van voetbal... :)


  • Kees
  • Registratie: Juni 1999
  • Laatst online: 08-05 14:44

Kees

Serveradmin / BOFH / DoC
--enable-memory-limit zul je aan moeten zetten. Deze zorgt er dan voor dat je een error krijgt als het script teveel geheugen probeert te gebruiken.

Vervolgens kun je in de php.ini gaan zitten spelen met de memory-limit (die standaard op 8MB staat).

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan

Pagina: 1