• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Programme in ihrer Bandbreite begrenzen

capser

Member
Hallo leute,
ich hoffe ihr koennt mir mal wieder helfen, ich bin mir auch nicht sicher ob das ueberhaupt moeglich ist. Aber ist es moeglich das man programme so begrenzt das sie nur eine gewisse bandbreite der rechenleistung gebrauchen?

Bei diensten wie ssh, oder der internet leitung oder so ist es ja moeglich, das man fuer gewisse dienste nur eine bestimmte bandbreite zur verfuegung stellen um andere dienste nicht zu stoeren.

Wir haben das problem, das wenn wir eine auswertung ueber php starten, oft der ganze server super langsam wird und fast nicht mehr reagiert bis die auswertung zu ende ist. Von daher waere es halt schoen, wenn man sagen koennte das in unserem beispiel der php aufruf nur eine gewisse bandbreit an leistung bekommt, damit der rest einwandfrei weiterlauft. Das dann die auswertung laenger dauert ist ja klar, das ist ja aber auch nicht weiter schlimm.

waere schoen wenn mir da jemand helfen koennte

gruss
nils
 

nbkr

Guru
Wenn es sich um ein PHP Script handelt gibts da zwei Möglichkeiten. Die eine wäre über die PHP.ini die Werte für max_memory_limit und die Ausführzeit des Scripts anzupassen. Das wird aber vermutlich nicht das sein was ihr wollt, weil das Script dann abbricht bevor es fertig ist.

Besser ist es das Script anzupassen und es resourcen schonender zu schreiben. Z.B. sollte man dann die file() Funktion zum Einlesen von Dateien vermeiden, da diese die ganze Datei in den Ram schiebt.
 
OP
C

capser

Member
Vielen dank erstmal schon dafuer...
ja es handelt sich da um ein php-script, und es ist schon relativ ressourcenschonend geschrieben, zumindest habe ich die info bekommen, das script selber hat einer unser programmierer geschrieben, und der kennt sich in dem bereich recht gut aus.

Was die aenderung an der php.ini angeht so ist es wirklich leider nicht das was wir wollen, da wir die auswertung ja schon haben wollen, sonst koennte man das script ja auch einfach starten.

gibt es denn keine moeglichkeit einem prozess zu sagen das er hoechstens eine bestimmte groesse von arbeitsspeicher in anspruch nimmt, und auch die cpu nur in gewissen masse belastet, oder gibt es sowas eher nicht?
 

nbkr

Guru
Man kann den Nice Wert eines Prozesses bestimmen. Dann wird er nicht mit hoher Priorität abgearbeitet. Wenn das Script aber über einen Webserver abgerufen wird weiß ich nicht genau ob das so machbar ist. Könnte sein, dass dann der komplette Webserver mit einer niedrigen Priorität laufen muss. Hängt natürlich auch davon ab wie PHP in den Webserver eingebunden ist.
 
OP
C

capser

Member
ne also das waere vielleicht ne idee... ueber nice habe ich noch nichts gehoert, aber da kann ich mich ja mal ein wenig informieren.

Das script wird jedenfalls von der konsole aufgerufen, von daher koennte uns das ja eventuell schonmal weiterhelfen...
vielen dank schonmal
 
Oben