Nutzerprozesse zeitlich begrenzen

Hallo,

auf einer Maschine koennen sich Nutzer einloggen und dort irgendwelchen Kleinkram machen (logfiles lesen, mails lesen, anderes Zeugs). Da die Maschine aber eigentlich andere Aufgaben hat, moechte ich verhindern, dass sie ihren number cruncher darauf anstossen. Kennt jemand eine Moeglichkeit, sie dahingegend einzuschraenken? Mit ulimit -e kann ich max nice fuer Nutzer runtersetzen und so die Prioritaet ihrer Prozesse in den Boden stampfen, aber das trifft’s nur so halb. Eigentlich moechte ich etwas in der Art, dass alle Prozesse, die nicht bestimmen Nutzern gehoeren und mehr als 10min CPU-Zeit verbraucht haben, entsorgt werden. Aber eigentlich moechte ich das nicht selber shell-scripten. Irgendwelche Ideen?

Danke im Voraus,
Gruss vom Frank.

Da die Maschine aber eigentlich andere
Aufgaben hat, moechte ich verhindern, dass sie ihren number
cruncher darauf anstossen.

Ich verstehe diesen Satz nicht. Das nachschlagen der Definition von Number Cruncher hat das nur verstärkt…

Kennt jemand eine Moeglichkeit, sie dahingegend einzuschraenken?

Keine Benutzeraccount auf der Kiste anlegen? Wenn das ein Serversystem ist, stellt es Services zur Verfügung, die Leute in Deinem LAN oder ggf. über das Internet nutzen können. Was tun Deine Benutzer denn potentiell so recourcenverbrennendes auf der Maschine?

Eigentlich moechte ich etwas in der Art, dass alle Prozesse,
die nicht bestimmen Nutzern gehoeren und mehr als 10min
CPU-Zeit verbraucht haben, entsorgt werden.

Haben Deine Benutzer keine eigenen Rechner, die sie mit Arbeit belasten können, warum sollen sie das auf dem Server tun? Was machen die denn so? Geht evtl. irgendwas mächtig schief, wenn einer der Prozesse einfach abgebrochen wird, bevor er zum Ende kommt?

Hallo,

Da die Maschine aber eigentlich andere
Aufgaben hat, moechte ich verhindern, dass sie ihren number
cruncher darauf anstossen. Kennt jemand eine Moeglichkeit,
sie dahingegend einzuschraenken?

Wir benutzen auf unseren Maschinen ‚and‘, den „Auto Nice Daemon“. Da kann man einiges einstellen, auch dass Jobs ab einer bestimmten CPU-Zeit abgeschossen werden.

Funktioniert so weit gut. Vielleicht nicht ganz so resourcensparend wie ein ulimit, aber tut.

Grüße,
Moritz

Da die Maschine aber eigentlich andere
Aufgaben hat, moechte ich verhindern, dass sie ihren number
cruncher darauf anstossen.

Ich verstehe diesen Satz nicht. Das nachschlagen der
Definition von Number Cruncher hat das nur verstärkt…

Also, ich hab jetzt mal http://en.wikipedia.org/wiki/Number_cruncher gelesen und fand das gar nicht so unverstaendlich.

Kennt jemand eine Moeglichkeit, sie dahingegend einzuschraenken?

Keine Benutzeraccount auf der Kiste anlegen?

Ja, und wer liest dann die logfiles? Ja, die Sache mit dem zentralen logfile server haben wir probiert. Das hat erhebliche andere Nachteile und funktioniert vielleicht bis ein paar Dutzend Rechnern.

Was tun Deine Benutzer denn potentiell so recourcenverbrennendes
auf der Maschine?

Naja, wenn mir so ein sed script auf ein logfile aus den Finger rutscht und ich dann vor Schreck vom Stuhl kippe, kann das schon einen server ziemlich belasten. Und da haette ich schon gern, dass sich das Ding nach ein paar Minuten selbst repariert.

Haben Deine Benutzer keine eigenen Rechner, die sie mit Arbeit
belasten können, warum sollen sie das auf dem Server tun?

Doch, leider.

Was machen die denn so?

Dienste entwickeln.

Geht evtl. irgendwas mächtig schief, wenn einer der Prozesse einfach
abgebrochen wird, bevor er zum Ende kommt?

Nein. Nicht auf diesem Rechner, nicht von diesen Nutzern. Die sollen gefaelligst ihre eigenen Rechner benutzen.

Gruss vom Frank.

Ja, und wer liest dann die logfiles? Ja, die Sache mit dem
zentralen logfile server haben wir probiert. Das hat
erhebliche andere Nachteile und funktioniert vielleicht bis
ein paar Dutzend Rechnern.

Und das Lesen von Logfiles, hält Deinen Server an…?

Naja, wenn mir so ein sed script auf ein logfile aus den
Finger rutscht und ich dann vor Schreck vom Stuhl kippe, kann
das schon einen server ziemlich belasten. Und da haette ich
schon gern, dass sich das Ding nach ein paar Minuten selbst
repariert.

Logrotate?

Was machen die denn so?

Dienste entwickeln.

Auf dem Server, nicht auf ihrer eigenen Maschine?

Hallo,

Kennt jemand eine Moeglichkeit, sie dahingegend einzuschraenken?

Keine Benutzeraccount auf der Kiste anlegen?

Ja, und wer liest dann die logfiles? Ja, die Sache mit dem
zentralen logfile server haben wir probiert. Das hat
erhebliche andere Nachteile und funktioniert vielleicht bis
ein paar Dutzend Rechnern.

Logging auf Servern lokal zu machen ist voll Moppelkotze. Da kannst Du es Dir eigentlich gleich schenken. Wer soll sich denn auf deutlich mehr als „ein paar Dutzend“ Rechnern zu Fuß auf den Weg machen, um die Logs zu prüfen und dann nebenbei noch „number cruncher“ auf dem Server installieren und ausführen?

Ein Log-Aggregation ggf. mit automatischer Auswertung ist die weit bessere und professionelle Alternative. Schau mal bei ArcSight vorbei, wenn Du was suchst, was auch mit mehr als „ein paar Dutzend“ klarkommt. Spätestens wenn die Revisionsabteilung ein paar Anforderungen an das Logging hat, kommt man da ohnehin nicht drumrum.

Naja, wenn mir so ein sed script auf ein logfile aus den
Finger rutscht und ich dann vor Schreck vom Stuhl kippe, kann
das schon einen server ziemlich belasten. Und da haette ich
schon gern, dass sich das Ding nach ein paar Minuten selbst
repariert.

Darum fummelt man auch nicht auf den Servern rum.

Haben Deine Benutzer keine eigenen Rechner, die sie mit Arbeit
belasten können, warum sollen sie das auf dem Server tun?

Doch, leider.

Dann solltest Du Deine Benutzer entsprechend schulen, dass sie gefälligst auf den Servern nichts zu installieren haben, was da nicht hingehört. Dann lässt Du sie unterschreiben, dass sie das zur Kenntnis genommen haben und sich über die Konsequenzen bis zur fristlosen Kündigung im klaren sind (ggf. mit dem Betriebsrat abstimmen). Anschließend mahnst Du die Leute ab, die sich nicht dran halten.

Glaube mir, spätestens wenn der erste deswegen entlassen wurde, hat sich das Problem erledigt.

Gruß

Fritze