priority scheduling in Linux

M

ManuJo

Mitglied
Hallo liebe Leute,

in Linux gibt es ja den Befehl nice, mit welcher man die Priorität eines Programms definiert. Mit & Zeichen kann man zudem zwei Instanzen von dem
selben Programm starten. Gibt es eine Möglichkeit, zwei Instanzen von gleichem Programm mit verschiedener Priorität parallel zu starten?
Irgendetwas wie:
nice --20 x.java & java x & nice -10 x.java & java x
Ich möchte die Möglichkeit, ein zweite klasse mit dem selben Inhalt zu schreiben, vermeiden und nur mit einer Klasse arbeiten.
 
kneitzel

kneitzel

Top Contributor
Die Problematik verstehe ich jetzt nicht ganz.

Wenn Du ein Programm hast (egal was - kann natürlich ein Java Programm sein), dann kannst Du dies mehrfach starten (so es keine Checks hat, die das verhindern. Klar, wenn es in die Prozessliste schaut und sich beendet, wenn es schon läuft, dann ist das etwas anderes ...)

Und wie Du geschrieben hast: Auf Linux kannst Du, so du nice installiert hast (coreutils / bsdutils sind die Pakete z.B. bei Debian / Ubuntu wenn ich mich nicht irre ...) jeden Aufruf mit einer beliebigen Priorität starten.

Der Aufruf sieht aber relativ komisch aus. Du willst ja sowas wie
nice -n -20 java x

Also um "niceness" -20 für Befehl "java x"

Das kannst Du natürlich mittels & im Hintergrund starten.
nice -n -20 java x &

Und das ginge dann auch mehrfach hintereinander also z.B.

nice -n 3 xterm & nice -n 1 xterm &

Und dann ein
ps -eo pid,ppid,ni,comm | grep xterm
zeigt dann die xterm prozesse mit nice level 3 und 1 ...

Somit: Ja, das geht.

Das nice --20 x.java
sieht nur dubios aus. Oder hast du ein executable x.java? Mit einem aktuellen Java wäre evtl
Das nice --20 java x.java
denkbar (Also direkte Ausführung der java Datei - unüblich aber ab Java 11 (oder so, bin mir da nicht ganz sicher, wann das eingebaut wurde) geht der Aufruf auf der Java Datei selbst ohne javac Aufruf....

Edit: das --20 braucht natürlich auch root Rechte. Sonst gibt es nur ein "nice: die Priorität kann nicht gesetzt werden: Keine Berechtigung" :)
 
M

ManuJo

Mitglied
Danke für die sehr umfangreiche Erklärung. Ich möchte ein java Programm parallel starten, mit unterschiedlichen Prioritären. Dabei wird das Programm in jeder Sekunde Zahlen ausgeben. Die Frage ist, ob ich die Prioritäten so setzen kann, dass das System einer Instanz mehr Priorität gibt als dem anderen.
Habe ich das richtig verstanden? Um mein Ziel zu erreichen, müsste ich doch das folgende schreiben:
Name von java Programm heisst xterm und muss sofort ausgeführt werden.
sudo nice -n --20 java xterm & nice -n -19 java xterm &
Damit die erste Instanz deutlich mehr Priorität(-20) bekommt als die zweite(19).
 
kneitzel

kneitzel

Top Contributor
Also wenn xterm die Klasse ist, in der die main Methode ist und ein java xterm das Programm ausführt: ja, das könnte klappen...

Wobei das zweite Kommando auch ein sudo benötigt meine ich - also ggf. einfach erst ein
sudo su -
Um eine root shell zu haben und dann der Befehl ohne sudo ...

Und die Priorität ist nicht so unterschiedlich vermute ich und falls die Programme die CPU nicht auslasten (z.B. wegen Sleep im Code), dann wirst du keinen großen Unterschied sehen ...

Und bei mehreren Cores könnte ggf beide fast gleich ausgeführt werden ...

Aber das wirst du dann ja auch sehen ....
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D priority queue sortieren Allgemeine Java-Themen 10
C Untidy Priority Queue Allgemeine Java-Themen 2
A MultiThreading.. Scheduling-Problem? Allgemeine Java-Themen 10
MQue Scheduling Allgemeine Java-Themen 7
Killunox MaxHeap Zuweisung unter Linux funktioniert nicht Allgemeine Java-Themen 1
L Super User via Processbuilder (Linux) Allgemeine Java-Themen 3
OSchriever Linux-Programm öffnen Allgemeine Java-Themen 6
OSchriever Programm über Linux-Kommandozeile ausführen Allgemeine Java-Themen 20
J Linux .jar beim Start automatisch ausführen Allgemeine Java-Themen 6
J ASCM - In Linux öffnen Allgemeine Java-Themen 3
L Tesseract-OCR 4.0 unter Linux funktioniert nicht Allgemeine Java-Themen 3
J Sound mit Clip in Linux abspielen Allgemeine Java-Themen 3
K USB infos unter Linux abfragen? Allgemeine Java-Themen 2
N Lizenzensierung von Java Programmen unter Linux Allgemeine Java-Themen 3
P OneWire Java Linux Allgemeine Java-Themen 11
R probleme beim starten von jar unter linux Allgemeine Java-Themen 2
A Linux bash script ausführen Allgemeine Java-Themen 16
C Windows RCP Application unter Linux bauen lassen Allgemeine Java-Themen 3
D jnativehook auf Linux Allgemeine Java-Themen 1
A Linux: Native Library mit Rootrechten ohne Prozess mit sudo zu starten Allgemeine Java-Themen 1
F Linux & NetBeans: Datei in Systemverzeichnis schreiben? Allgemeine Java-Themen 1
E Sonderzeichen nicht setzbar: Großes Problem bei Programmierung unter Linux Mint mit Virtual Box Allgemeine Java-Themen 5
F URI Schema in Linux erstellen? Allgemeine Java-Themen 3
D Problem VLC4J Raspbian(Linux) Allgemeine Java-Themen 0
M Code läuft unter windows aber nicht unter Linux Allgemeine Java-Themen 6
F.S.WhiTeY JDK installieren Linux: Nach Update link auf Java zerschossen Allgemeine Java-Themen 4
M Java auf Linux und Windows Allgemeine Java-Themen 6
D pfad zur jre linux Allgemeine Java-Themen 8
B Ordner öffnen mittels Java in Linux-Umgebung Allgemeine Java-Themen 7
P Eclipse Unter Windows erstelle .jar unter Linux (Ubuntu) funktioniert nicht Allgemeine Java-Themen 5
G Linux/C++/Pthreads auf JVM zugreifen, thread safe? Allgemeine Java-Themen 10
G Runtime.exec beendet Programm unter Linux, wenn Java Programm beendet wird Allgemeine Java-Themen 3
G RXTX native library unter Linux in jar build angeben Allgemeine Java-Themen 4
R Umlautproblem unter Linux Allgemeine Java-Themen 10
Gossi Mit Java auf Linux- & Windowssysteme zugreifen? Allgemeine Java-Themen 4
T Jar File läuft unter Windows aber nicht unter linux Allgemeine Java-Themen 10
Z Probleme bei Stringvergleichen (Windows/Linux) Allgemeine Java-Themen 10
M Linux Rechner per ssh runterfahren mit Java Allgemeine Java-Themen 8
F Process.getInputStream unter Linux Allgemeine Java-Themen 7
J Java programm lässt sich in win7 nach linux install nicht mehr ausführen Allgemeine Java-Themen 18
G Input/Output URLDecoder.decode - Unterschiedliche Ergebnisse Windows / Linux Allgemeine Java-Themen 2
G Java und Syslog (Linux) Allgemeine Java-Themen 3
T Javaprogramm unter Linux auf bestimmten Kern starten/laufen lassen ? Allgemeine Java-Themen 22
D Unix/Linux Benutzer-Authentifikation über Java Allgemeine Java-Themen 3
B JNA, Linux und die Smart Card Allgemeine Java-Themen 2
P Runnable Jar File über Windows ausführbar doch über Linux nicht Allgemeine Java-Themen 8
C RXTX Treiber einbinden für Linux Allgemeine Java-Themen 6
C Datei auslesen wie unter Linux mit "tail -f" Allgemeine Java-Themen 3
E Linux Cups Allgemeine Java-Themen 6
S Verhalten von System.getenv() in Ubuntu / Linux Allgemeine Java-Themen 12
T linux problem mit Desktop.getDesktop().open(..) Allgemeine Java-Themen 5
lordcarlos Runtime exec und mplayer (linux) Allgemeine Java-Themen 11
J dialogys unter linux Allgemeine Java-Themen 4
S Problem beim Drucken auf Netzwerkdrucker unter Linux Allgemeine Java-Themen 9
B Linux: Bash von Java aus aufrufen Allgemeine Java-Themen 10
T System Preferences + LInux (Ubuntu) Allgemeine Java-Themen 8
R Timing-Problem (?) Linux versus Windows Allgemeine Java-Themen 13
F Document öffnen unter Linux Allgemeine Java-Themen 4
F Portzugriffe Java @Linux & Windows? Allgemeine Java-Themen 4
W Deployment unter Linux Allgemeine Java-Themen 17
D Mit Linux mehrere Kommandos in einem Subprozeß Allgemeine Java-Themen 3
E Erfahrung mit RXTX sowie Windows und Linux Allgemeine Java-Themen 9
J Externes Programm starten und stoppen (Linux) Allgemeine Java-Themen 3
B Programm läuft unter Linux, aber nicht unter Windows Allgemeine Java-Themen 3
J UTF-8 Sockets : Windows<->Linux Ein altes Problem Allgemeine Java-Themen 7
S Ausführbare Scriptdatei unter Linux erstellen Allgemeine Java-Themen 6
J Programm unter Linux starten Allgemeine Java-Themen 3
R Jar-File vom Linux Desktop durch ancklicken starten? Allgemeine Java-Themen 5
P Linux port Allgemeine Java-Themen 4
P CLASSPATH LINUX Allgemeine Java-Themen 9
L Programm läßt sich wegen Java unter Linux nicht starten Allgemeine Java-Themen 4
V JAR-File läuft unter Windows und Linux, aber nicht unter OSX Allgemeine Java-Themen 6
M Welches Linux zum Java testen? Allgemeine Java-Themen 5
D linux shell aus java öffnen Allgemeine Java-Themen 5
A Linux-Consolenbefehle über Java ausführen? Allgemeine Java-Themen 2
B Java Applikation incl. dll unter Linux ausführen? Allgemeine Java-Themen 11
G Java Socket langsam unter Linux Allgemeine Java-Themen 21
T *.jar applikationen auf Linux installieren Allgemeine Java-Themen 4
P jdic/Linux Allgemeine Java-Themen 2
G Linux Dateinamen Charset Probleme Allgemeine Java-Themen 8
Ark Linux: Shell-Skript zum Kompileren und Starten Allgemeine Java-Themen 4
N Linux-Commands über Java Anwendung ausführen Allgemeine Java-Themen 12
M Eigenes Java-Server-Programm unter Linux steuern? Allgemeine Java-Themen 13
P linux + java :/ Allgemeine Java-Themen 11
G Läuft nicht unter Linux oO Allgemeine Java-Themen 10
S Java Entwicklungsumgebungen unter XP und Linux und weitere F Allgemeine Java-Themen 7
W Programm starten unter Linux Allgemeine Java-Themen 10
M Speicherverwaltung unter Linux Allgemeine Java-Themen 7
A Geschwindigkeit Java unter Linux Allgemeine Java-Themen 9
J jdic funktioniert unter Linux nicht Allgemeine Java-Themen 18
S Welche Javaversion ist in meinem Linux? Allgemeine Java-Themen 2
L Native Threads unter Linux? Allgemeine Java-Themen 2
V JVM OutofMemory Linux geht, windows nicht Allgemeine Java-Themen 3
L mit exec() befehl ausführen ( OS X / Linux) Allgemeine Java-Themen 8
B JMF -> Webcam (Linux) Allgemeine Java-Themen 14
B Java 6 unter Ubuntu (Linux) Allgemeine Java-Themen 4
B gibVerzeichnis() unter linux Allgemeine Java-Themen 9
D JMF unter Linux/Windows, nichts funktioniert Allgemeine Java-Themen 3
F Runtime.getRuntime().exec mit Linux und Leerzeichen Allgemeine Java-Themen 3
L javax.comm unter Linux Allgemeine Java-Themen 11

Ähnliche Java Themen

Anzeige

Neue Themen


Oben