[Kernel 2.4.30/Debian 3.1(Sarge RC3)] Process Memory Limits

Pagina: 1
Acties:

  • [NUT]
  • Registratie: Juni 2001
  • Laatst online: 09-02 15:54

[NUT]

Heppiedepeppie

Topicstarter
Intro
Ik heb me al dagen lang ziek gezocht op google, en op het forum kwam ik ook niet veel bruikbaars tegen, helaas ;(

Voor je al meteen gaat roepen /etc/security/limits.conf ! - deze is geconfigureerd ... en werd als een van de meest voorkomende dingen op google niet gewaardeerd, omdat ik er niets aan heb.

Waarom? /etc/security/limits.conf legt dmv PAM beperkingen op aan users die /bin/login gebruiken. Dit om misbruik van de shell omgeving te voorkomen. Dit is nu juist dat wat ik NIET zoek.

Tot zover het bewijs dat ik me er wel in verdiept heb voor ik hier een topic open :Y)

Misc
Hardware: Tyan mb + 2 MP procs, 2gb mem en 1gb swap. (Raid5 en 1 voor data en systeem)
OS: Debian Sarge (3.1 RC3)
Kernel: 2.4.30

Het probleem
Ik draai gameservers op deze bak en met daarbij een webserver (apache), mail server, dns server en de nodige andere minder intensieve troep die standaard of minder standaard mee draaien op een goed geconfigureerd systeem. De manier waarop we de gameservers starten word gedaan vanaf een website die een perl script aanroept om games te starten en aan init te linken. Deze processen draaien wel als een gebruiker(met UID in de Users group) mee op het systeem, de reden waarom we doen zoals we het doen is omdat als we de pids niet vast binden op init deze down gaan zodra we de apache webserver herstarten.

Op deze manier komt het proces nooit langs PAM (word gestart middels sudo -u) en krijgt het dus ook geen beperkingen mee...

Nu zijn er games die zo lek zijn als een mandje ... en in 130 minuten maar soms ook in 10 minuten 500mb en meer in gebruik kunnen nemen (het record staat op 2.5gb :o ). Laat het duidelijk zijn dat dit GEEN standaard functionaliteit is, dezelfde games met bijvoorbeeld een andere mod of een andere map, maar ook andere servers die de zelfde map draaien vreten niet meer dan 70mb intern geheugen, en dat is dan inclusief 20 spelers online. De server loopt dan dus stevast traag door, met een load van ergens tussen de 3 en de 32 (ja dat kan blijkbaar!). Dit is onwerkbaar en soms is een uit-aan reset de enige die de boel weer levend krijgt.

De vraag:
Hoe kan ik het maximaal bruikbare geheugen vast leggen per proces, zonder gebruik van PAM/limits.conf ? Dit zou het liefst op kernel niveau in de gaten gehouden moeten worden, maar iets anders is ook welkom.

[ Voor 5% gewijzigd door [NUT] op 13-05-2005 12:27 . Reden: iets meer van het probleem omschreven ]


  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 00:43
Kijk eens in /etc/pam.d/sudo en /etc/pam.d/login, en wat zie je daar?

session required pam_limits.so

Voeg die ook even aan sudo toe en je bent klaar.

  • [NUT]
  • Registratie: Juni 2001
  • Laatst online: 09-02 15:54

[NUT]

Heppiedepeppie

Topicstarter
:o

Waarom zie je deze informatie nou nooit in enige howto's ? ... ik heb er wel 20 doorgelezen ...

_o_ _JGC_ _o_