Javaprogramm unter Linux auf bestimmten Kern starten/laufen lassen ?

Toralfus

Mitglied
Halli Hallo,

ich bin Toralfus und hätte gleich eine kurze Frage, kann man Java-Programmen beim Starten unter Linux einen bestimmten Kern zuweisen ? Wenn man das fertig compilierte Programm mit java.main ausführt ?

So das es möglich wäre unterschiedliche Java-Programme auf unterschiedlichen Kernen laufen zu lassen ?

Gruß und Dank

Toralfus
 

Wildcard

Top Contributor
Das ist Aufgabe des Schedulers des Betriebssystems und der wird nach Möglichkeit auch versuchen alle Resourcen gleichmäßig auszulasten.
 

Toralfus

Mitglied
job CPU´s...

Nach meinen Informationen ist es möglich einzelnen Benutzern, verschiedene (begrenzte) Systemresourcen zur Verfügung zu stellen. Bei uns in der FH laufen auf 3/4 Kernen Prozesse und mit dem 4. dürfen sich die Studenten begnügen. Ich dachte nun das könnte man auch für einzelne Prozesse (Programme) hin bekommen.
 

Atze

Top Contributor
hat man denn per java kontrolle über den scheduler des os? man kann threads doch für den start vorsehen, aber wann dieser tatsächlich startet / auf welchem kern regelt das os doch eigenmächtig! wann halt zeit dafür ist. zumindest unter win, oder?
 

madboy

Top Contributor
hat man denn per java kontrolle über den scheduler des os? man kann threads doch für den start vorsehen, aber wann dieser tatsächlich startet / auf welchem kern regelt das os doch eigenmächtig!
Prinzipiell stimmt das, aber kann zumindest unter Linux auch manuell geregelt werden (Stichwort CPUSets): CPUSETS for Linux 2.6

Über /proc (oder /sys?) kann dann eingstellt werden, welcher Prozess wo laufen soll. Das funktioniert, die nötigen Rechte vorausgesetzt, dann auch über Java.
 

Toralfus

Mitglied
:oops:Kurze Zwischenfrage: Auch wenn es vieleicht nicht viel Sinn macht könnte man dann also auf einen Kern nen Server laufen lassen, während man auf den verbleibenen Kernen Clients laufen lässt. Welche über verschiedene Ports mit den Server komunizieren ?
 

Atze

Top Contributor
sollte gehen, wenn das auch auf einem kern mit nem server aufm lokalhost geht, warum dann nicht auch mit mehreren kernen? :) aber verschiedene ports wohl nur, wenn der server mehrere sockets hat.
danke @ madboy, wußte ich nich! :) nette sache
 

ice-breaker

Top Contributor
Die Synchronisierung ist deine Aufgabe.

Aber das Aufteilen auf Kerne ist immernoch unsinnig. Dein Betriebssystem sorgt schon dafür, dass alles parallel wunderbar ausgeführt wird und keine CPU tausendmal effektiver ausnutzen, als wenn du das bestimmst.
 

madboy

Top Contributor
aber verschiedene ports wohl nur, wenn der server mehrere sockets hat.
???:L
Ich glaube, da verwechselst du was. Ein Socket ist im Allgemeinen die Kombination aus IP-Adresse und Portnummer. Wenn also eine IP am Server, dann ist ein Port einem Socket äquivalent.

kommt es dann aber nicht zum Daten crash wenn 2 gleichzeitig auf einen Port senden wollen ? Oder Synchronisiert Java das ?
Du kannst einen Socket (siehe oben) nicht zwei Mal verwenden. Java bzw. das Betriebssystem wirft dir dann eine Fehlermeldung.
 
Zuletzt bearbeitet:

madboy

Top Contributor
Die Synchronisierung ist deine Aufgabe.

Aber das Aufteilen auf Kerne ist immernoch unsinnig. Dein Betriebssystem sorgt schon dafür, dass alles parallel wunderbar ausgeführt wird und keine CPU tausendmal effektiver ausnutzen, als wenn du das bestimmst.

Kommt drauf an, was man will. Will man die CPUs optimal ausnutzen, dann hast du natürlich recht. Will man aber eine möglichst gute Antwortzeit von einem Prozess, kann es durchaus sinnvoll sein, den Prozess allein auf eine CPU zu packen.
 

ice-breaker

Top Contributor
Kommt drauf an, was man will. Will man die CPUs optimal ausnutzen, dann hast du natürlich recht. Will man aber eine möglichst gute Antwortzeit von einem Prozess, kann es durchaus sinnvoll sein, den Prozess allein auf eine CPU zu packen.
Im Gegenteil ;)
Da dein Betriebsystem auch noch viele weitere Prozesse auf die Cores zuteilt, muss dein fest eingestellter Core zwischen den Prozessen geteilt werden und du hast auch wieder ein Scheduling ;)
Was du ansprichst entspricht viel eher dem Nice-Wert eines Prozess in Linux, du kannst sagen, dass der Prozess eine sehr hohe Priorität und wird deshalb vom Betriebssystem immer vorrangig ausgeführt, DAS kann zu besseren Antwortzeiten führen.
Wobei ich mal behaupten würde, dass die Antwortzeiten auch erst nachlassen, wenn alle Kerne voll ausgelastet sind.
 

madboy

Top Contributor
Das geht jetzt zwar am Thema vorbei, aber sagt dir der Begriff "Prozesswechsel-Latenz" bzw. Process switching latency - Wikipedia, the free encyclopedia was? Wenn nur ein Prozess auf einem Prozessor ausgeführt wird, müssen diverse Dinge nicht gemacht werden (Contextwechsel, also Kopieren der Prozessinformationen aus den CPU-Registern in einen Cache etc.), was wiederum die Antwortzeit dieses Prozesses erhöht.

EDIT: natürlich erhöht sich die Antwortzeit nicht, sondern sie verringert sich :oops:
 

planetenkiller

Aktives Mitglied
ne, ice-breaker hat recht.

Nur weil du einem Prozess einen festen Kern(/Prozessor) zuweist, heisst das nicht, das dieser Prozess den Kern(/Prozessor) exklusiv bekommt. Das OS wird auch weiterhin Contextwechsel machen, um andere Prozesse auch zum Zuge kommen zu lassen.
 

madboy

Top Contributor
ne, ice-breaker hat recht.

Nur weil du einem Prozess einen festen Kern(/Prozessor) zuweist, heisst das nicht, das dieser Prozess den Kern(/Prozessor) exklusiv bekommt. Das OS wird auch weiterhin Contextwechsel machen, um andere Prozesse auch zum Zuge kommen zu lassen.

Das kommt darauf an, was man mit den anderen Prozessen macht :D
Ich ging davon aus, dass man die anderen Prozesse über CPUSets auf die anderen CPUs verteilt und nur der gewünschte Prozess exklusiv eine physikalische CPU bekommt.

Wer Java programmiert wird aber wahrscheinlich sowieso kein Problem mit Kontextwechselzeiten und Ähnlichem haben ;-)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Doppelklick auf Javaprogramm klapt nicht Allgemeine Java-Themen 1
J Aus JavaProgramm Setup Exe aufrufen Allgemeine Java-Themen 9
M Aus Javaprogramm .NET Quellcode kompileren Allgemeine Java-Themen 2
E Protokollierung zu Javaprogramm Allgemeine Java-Themen 5
H CLASSPATH im Javaprogramm ändern Allgemeine Java-Themen 5
A Javaprogramm als Windowsservice starten Allgemeine Java-Themen 4
L Javaprogramm als SoundIn Device Allgemeine Java-Themen 3
D ewig laufendes Javaprogramm ("Service") Allgemeine Java-Themen 17
M Maus durch JavaProgramm bewegen Allgemeine Java-Themen 2
G Javaprogramm ohne Java Allgemeine Java-Themen 24
B Javaprogramm als Dienst mit Netzwerkzugriff? Allgemeine Java-Themen 5
F JavaProgramm mit der Tastatur Steuern Allgemeine Java-Themen 3
J Javaprogramm ueber Windowskontextmenue starten Allgemeine Java-Themen 2
V JavaProgramm von Konsole starten geht nichtmehr Allgemeine Java-Themen 4
K Zugriff von Javaprogramm auf Worddoku Allgemeine Java-Themen 2
C Javaprogramm von außen steuern? z.b mit VB Allgemeine Java-Themen 11
S Javaprogramm lässt sich nicht per .bat Datei ausführen. Allgemeine Java-Themen 22
R Javaprogramm von der Konsole starten Allgemeine Java-Themen 4
P Javaprogramm soll doppeltgeklickte Datei verarbeiten Allgemeine Java-Themen 22
b3ny javaprogramm als windows anwendung compilieren Allgemeine Java-Themen 9
A Java unter Win 10 Allgemeine Java-Themen 1
M Eclipse unter Linux Lite Allgemeine Java-Themen 2
N iText keine Sonderzeichen und Umlaute unter Windows Allgemeine Java-Themen 13
MarekLanger Filebeat in Docker unter Windows Allgemeine Java-Themen 1
H Java SDK unter 32 Bit Allgemeine Java-Themen 5
Killunox MaxHeap Zuweisung unter Linux funktioniert nicht Allgemeine Java-Themen 1
L Tesseract-OCR 4.0 unter Linux funktioniert nicht Allgemeine Java-Themen 3
J Wie konkret funktioniert das Modulsystem unter Java 11? Allgemeine Java-Themen 4
J jar Dateien unter Windows 7 mit spezifischer jdk öffnen Allgemeine Java-Themen 2
I GUI für kleine Pop-Ups unter Windows Allgemeine Java-Themen 1
H Änderung im maximalen heap space unter Windows 7 ?! Allgemeine Java-Themen 5
E Erfahrungen mit Java/JS Bridge unter nodejs und NodeJS/C++ Bridge Allgemeine Java-Themen 0
Neumi5694 Task-Name unter Windows Allgemeine Java-Themen 4
T PDF-Generierung (itext) - läuft unter Eclipse, bei har aber leere Seite Allgemeine Java-Themen 39
S Korrekte Pfadangaben damit eine .jar Datei unter Windwos läuft. Allgemeine Java-Themen 24
K USB infos unter Linux abfragen? Allgemeine Java-Themen 2
K jar-Datei lässt sich unter Windows nicht verwenden Allgemeine Java-Themen 3
N Lizenzensierung von Java Programmen unter Linux Allgemeine Java-Themen 3
H Summe aller Vielfachen von 3 oder 5 unter 1000. Allgemeine Java-Themen 7
krgewb LookAndFeel unter Mac OS Allgemeine Java-Themen 1
Cromewell JavaFX FXML-File lädt unter Ubuntu nicht Allgemeine Java-Themen 7
D JRE in .jar verpacken unter Windows Allgemeine Java-Themen 4
D Aktuell installierte Java Version auslesen unter Windows Allgemeine Java-Themen 5
R probleme beim starten von jar unter linux Allgemeine Java-Themen 2
S Executable Jar File startet nicht unter Windows 10 Allgemeine Java-Themen 3
C Windows RCP Application unter Linux bauen lassen Allgemeine Java-Themen 3
X Zeile unter einer bestimmen Zeile hinzufügen(File) Allgemeine Java-Themen 1
E Anwendung verhält sich unter Mac anders als Unter Windows. Allgemeine Java-Themen 4
F URI-Scheme mit Java unter MacOS erstellen? Allgemeine Java-Themen 0
E Drucken einer Pdf Datei unter Java. Allgemeine Java-Themen 1
E Sonderzeichen nicht setzbar: Großes Problem bei Programmierung unter Linux Mint mit Virtual Box Allgemeine Java-Themen 5
F Mencoder unter Java Ausführen Allgemeine Java-Themen 0
G Methoden HashMap speichert unter falschen Schlüsseln Allgemeine Java-Themen 6
G IR Fernbedienung unter Java Allgemeine Java-Themen 0
G Wie installiere ich javax-usb unter windows? Allgemeine Java-Themen 0
S JAAS unter Ubuntu? Allgemeine Java-Themen 0
J Compiler-Fehler Compiliert unter Eclipse aber nicht mit javac Allgemeine Java-Themen 0
M Code läuft unter windows aber nicht unter Linux Allgemeine Java-Themen 6
Guybrush Threepwood Kein user.home unter Windows8 Allgemeine Java-Themen 7
P java.nio.file unter Java 6 verwenden Allgemeine Java-Themen 4
R Java-Progamm über Icon starten unter Windows Allgemeine Java-Themen 9
C JasperReports, PDF und "Speichern unter"-Dialog Allgemeine Java-Themen 7
P Eclipse Unter Windows erstelle .jar unter Linux (Ubuntu) funktioniert nicht Allgemeine Java-Themen 5
R ZIP FileSystem unter Windows wirft exception Allgemeine Java-Themen 7
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
C Darstellungsproblem unter Debian und OpenJDK Allgemeine Java-Themen 5
R Umlautproblem unter Linux Allgemeine Java-Themen 10
C derby db unter mac os Allgemeine Java-Themen 8
B File Seperator unter verschiedenen OS Allgemeine Java-Themen 2
T Jar File läuft unter Windows aber nicht unter linux Allgemeine Java-Themen 10
B Methode läuft nicht unter UNIX Allgemeine Java-Themen 6
F Process.getInputStream unter Linux Allgemeine Java-Themen 7
S Java-Installation unter Sun OS Allgemeine Java-Themen 3
K Xattr Mac unter Java ansprechen Allgemeine Java-Themen 17
D Clipboard getSystemSelection() funktioniert unter Windows* nicht Allgemeine Java-Themen 3
M Nach Programmdurchlauf werden Zeichen falsch dargestellt + Anderes Verhalten unter Windows Allgemeine Java-Themen 6
L Sicherstellen das 2x die gleichen Daten unter bestimmten Keys enthalten sind. Allgemeine Java-Themen 6
J Path-Eintrag unter Windows 7 Allgemeine Java-Themen 11
F Eclipse JAVAMAIL läuft nur unter Eclipste Applet Viewer Allgemeine Java-Themen 4
C .jar unter Windows7 über den Explorer starten Allgemeine Java-Themen 6
S (Doppel)Klick-Verhalten vom Desktop unter Java imitieren. Allgemeine Java-Themen 5
Z Probleme mit Java unter Vista/ Windows 7 Allgemeine Java-Themen 12
M Realisierung einer dynamischen Tabelle unter Android Allgemeine Java-Themen 3
C Datei auslesen wie unter Linux mit "tail -f" Allgemeine Java-Themen 3
J Java-Datei unter Mac OS X öffnen - eine Frage der Klasse Allgemeine Java-Themen 2
G Textdatei einlesen unter Windows 7 Allgemeine Java-Themen 4
D Objekte nur unter bestimmten Voraussetzungen erzeugen Allgemeine Java-Themen 4
H String spliten unter berücksichigung von " und \" Allgemeine Java-Themen 7
V linuxprogramm unter java aufrufen??? Allgemeine Java-Themen 4
ruutaiokwu welches design pattern? frage an die oo-experten unter euch... Allgemeine Java-Themen 3
N JAR Datei ausführen unter Angabe einer speziellen Klasse Allgemeine Java-Themen 2
J Eclipse unter Windows 7 Allgemeine Java-Themen 5
T Pfad Anwendungsdaten unter Windows ermitteln Allgemeine Java-Themen 3
B Java Applet unter Mac wird nicht angezeigt Allgemeine Java-Themen 6
A CLASSPATH unter Debian Lenny Allgemeine Java-Themen 4
A Umgebungsvariable unter Windows Vista setzen Allgemeine Java-Themen 60
M Log4J funktioniert nicht unter anderem Benutzer Allgemeine Java-Themen 5
E Alle unter Prozesse der beim schließen mit schließen Allgemeine Java-Themen 3
J dialogys unter linux Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben