Programm drosseln möglich?

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
deb
Beiträge: 82
Registriert: 18.09.2005 13:30:20

Programm drosseln möglich?

Beitrag von deb » 19.03.2006 17:20:04

Ist es möglich ein Programm in seiner ausführung zu verlangsamen?

Gerade bei meinen täglichen Backups und vielen anderen Situation würde ich gerne die Nutzlast des Prozesses etwas zurückschrauben
Außerdem soll der Lüfter möglichst ruhig bleiben. ;-)


Ich dachte so bspw. an eine Drosselung auf 20 %.


Unter Windows ist mir so bis jetzt nie gelungen, ich hoffe wenigsten auf Linux. 8O


Weitere kleine Fragen die zum Thema gleich noch zum interessieren würden.

- einen Process in kurzzeitigen Tiefschlaf versetzen und umgekehrt.

- Kann man eine Verlangsamung auch in innerhalb mehrer Pipies erzeugen? - 100 kb, 1 Sekunden Pause, 100kb, 1 Sekunde Pause usw

- Priorität eines Programms/Daemon festlegen


Danke für's Durchlesen und für evtl. antworten.
Gruß

init 0
Beiträge: 673
Registriert: 21.10.2003 19:40:28

Beitrag von init 0 » 19.03.2006 17:41:35

Code: Alles auswählen

man nice
man kill
Ach ja, und nix schrotten.
Ich habe einen schlechten Stil, ich weiss, Danke, wurde mir bereits gesagt.

Methusalix

Programm drosseln möglich?

Beitrag von Methusalix » 19.03.2006 17:51:01

Hallo,

da sollte auch

Code: Alles auswählen

man sleep
nicht fehlen.

Gruß
Matthias

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Re: Programm drosseln möglich?

Beitrag von Joghurt » 19.03.2006 17:58:29

deb hat geschrieben:- einen Process in kurzzeitigen Tiefschlaf versetzen und umgekehrt.
Wenn das Programm gerade in der Console läuft: Strg+Z. Dann entweder fg oder bg zum aufwecken. Letzteres packt den Prozess in den Hintergrund (als wenn du mit & gestartet hättest).

Ansonsten:

Code: Alles auswählen

kill -STOP Prozessnummer
macht dasselbe wie Strg+Z

Code: Alles auswählen

kill -CONT Prozessnummer
weckt den Prozess wieder auf

deb
Beiträge: 82
Registriert: 18.09.2005 13:30:20

Re: Programm drosseln möglich?

Beitrag von deb » 19.03.2006 18:50:12

So schnell mal wieder 'ne Antwort.
Ich dank' nochmalst allen.
Matthias-GE hat geschrieben:Hallo,

da sollte auch

Code: Alles auswählen

man sleep
nicht fehlen.

Gruß
Matthias
Darf nicht fehlen, klar.
Aber nutzbar ist es leider nicht für pipes

echo test | sleep 1 | cat

selbst wenn, würde es nicht wie gewünscht funktionieren :-(




Die Manuals habe ich alle mal durchgeblättert.

Es scheint mir der Kernel unterstützt keine Processleistungbegrenzung.


So bleibt mir wohl nur den Prozess in regelmäßigen Intervallen ein und abzuschalten. :-(

Hoffentlich verursacht das nur keinen Totalcrash ;-)


Gruß

init 0
Beiträge: 673
Registriert: 21.10.2003 19:40:28

Beitrag von init 0 » 19.03.2006 23:56:32

Es scheint mir der Kernel unterstützt keine Processleistungbegrenzung.
Nun die Prozessorleistung wird unter Linux nicht Begrenzt sie wird aufgeteilt. Meiner Meinung nach erwaren die Leute etwas Falsches.
Du erwartest eine Einteilung in %. Die kann es auch geben aber nur für die Prozesse die Leistung benötigen. Eben durch den Nice wert. Unter "normalen" Umständen scheint es so zu sein dass immer noch 1 Prozess den ganzen Prozessor inanspruch nimmt. Stimmt aber nicht falls ein zweiter Prozess auch was haben will. Dann erfolgt die Einteilung 50/50. Natürich nur solange nice nicht benutzt wird. Die Prozesse die leer Laufen kriegen scheinbar nichts eingeteilt. Das sieht nur so aus. Die Prozesse kriegen alle ihren Anteil. Nur geben die meisten Prozesse diesen wieder ab falls sie ihn nicht brauchen. Das kommt wieder den anderen Prozessen die aktiv laufen wieder zu Gute.
Ich hoffe ich konnte die Sache zumindest ansatzweise verdeutlichen.
Ach ja, und nix schrotten.
Ich habe einen schlechten Stil, ich weiss, Danke, wurde mir bereits gesagt.

Benutzeravatar
deadeye
Beiträge: 561
Registriert: 14.04.2004 15:32:18
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Ukio, rechts hinterm Feld
Kontaktdaten:

Beitrag von deadeye » 20.03.2006 00:13:34

Ich glaube das stimmt so nicht.
Therorethisch müsste jeder Prozess immer 100% der CPU-Leistung bekommen, weil es technisch gar nich anders machbar is, da nur ein Prozess oder auch Thread gleichzeitig laufen kann(SMP-Systeme mal ausgenommen). Die Frage ist nur, wie oft die Prozesse/Threads in der CPU auch dran sind.
Und so wird auch nice arbeiten: ein Prozess mit einer bestimmten Aufgabe wird von der CPU bearbeitet, solange bis ein anderer Prozess da ist, der auch dran kommen will, dann wird gewechselt, weiter gearbeitet, wieder gewechselt und so weiter. Das nennt man Multi-Tasking, was aber nicht mehr is, als das mehrere Prozesse der Reihe nach abgearbeitet werden, also doch eher Single-Tasking, weil ist ja nur eine CPU und die kann nunmal nur eine Sache zu einer Zeit(wie gesagt SMP-Systeme mal außer Acht gelassen).
Bin mir grade nicht ganz sicher, wer genau die zuteilung der Prozesse auf die CPU vornimmt, aber der Scheduler vom Kernel hat damit auf jeden Fall ne Menge zu tun, aber denke das da von der CPU auch noch ein bißchen mitgesteuert wird.

Falls es jemand besser weiß, so möge er mich korrigieren ;-)

Gruß
deadeye

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 20.03.2006 11:40:23

Die Zuteilung ist recht komplex, gibt da auch verschiedene Verfahren. Im Prinzip gibt es Zeitfenster und dazu kommen dann auch noch Prioritaeten der einzelnen Prozesse und eben der oben schon mal erwaehnte nice-Wert.

Antworten