AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Unabhängigen Prozess starten

Offene Frage von "seppitm"
Ein Thema von seppitm · begonnen am 26. Mai 2014 · letzter Beitrag vom 27. Mai 2014
Antwort Antwort
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.684 Beiträge
 
Delphi 5 Professional
 
#1

AW: Unabhängigen Prozess starten

  Alt 26. Mai 2014, 21:17
Ich starte sie via CreateProcess mit Delphi.
Hast du dazu mal etwas Code?

Zitat:
Ich habe 32 GB Ram.
Die überhaupt nicht relevant sind. Ich nehme mal an, dass dein Delphi-Programm 32 Bit ist. Dann beschränkt sich dein Adressraum auf 2 GiB.

Zitat:
Wenn ich eine Java Anwendung aus Delphi heraus starte und ihr 128MB RAM zuweise ist alles okay.
Wieso wird die wichtige Info, dass es um Java geht, jetzt erst erwähnt? Die JVM hat teilweise ihr eigenes Verhalten. Auf welche Weise (mit welchem Parameter) weist du denn der JVM den Speicher zu? Um welche Java-Software geht's denn? (Mal wieder Minecraft?)

Zitat:
Wenn ich Java allerdings 2048MB zuweise, stürzt der Parent (also mein Delphi Programm) ab.
Wie genau passiert das? Einfach so sang- und klanglos? Oder gibt's ne Meldung (von Dr. Watson bzw. der Fehlerberichterstattung)? Wenn ja, wie lautet diese?

MfG Dalai
  Mit Zitat antworten Zitat
seppitm

Registriert seit: 10. Nov 2010
14 Beiträge
 
#2

AW: Unabhängigen Prozess starten

  Alt 26. Mai 2014, 21:34
Habe den befehl nicht mehr habe es in der aktuellen Version mit der ShellAPI gemacht.

Es handelt sich um eine 64Bit Anwendung, ich bin ja nicht dumm...

Es handelt sich um das spiel um Minecraft richtig, was sollte sonst so viel verbrauchen.
Code:
java -Xmx3072M -Xms1024M -XX:MaxPermSize=1024m -Duser.dir="C:\Users\USERNAME\AppData\Roaming\MCPACK\v4" -Dfml.ignorePatchDiscrepancies=true -Djava.library.path="C:\Users\USERNAME\AppData\Roaming\MCPACK\v4\enhaNatives" -cp "C:\Users\USERNAME\AppData\Roaming\MCPACK\v4\libraries\argo\argo\2.25_fixed\argo-2.25_fixed.jar;C:\Users\USERNAME\AppData\Roaming\MCPACK\v4\libraries\com\google\code\gson\gson\2.2.2\gson-2.2.2.jar;C:\Users\USERNAME\AppData\Roaming\MCPACK\v4\libraries\com\google\guava\guava\14.0\guava-14.0.jar;C:\Users\USERNAME\AppData\Roaming\MCPACK\v4\libraries\com\paulscode\codecjorbis\20101023\codecjorbis-20101023.jar;C:\Users\USERNAME\AppData\Roaming\MCPACK\v4\libraries\com\paulscode\codecwav\20101023\codecwav-20101023.jar;C:\Users\USERNAME\AppData\Roaming\MCPACK\v4\libraries\com\paulscode\libraryjavasound\20101123\libraryjavasound-20101123.jar;C:\Users\USERNAME\AppData\Roaming\MCPACK\v4\libraries\com\paulscode\librarylwjglopenal\20100824\librarylwjglopenal-20100824.jar;C:\Users\USERNAME\AppData\Roaming\MCPACK\v4\libraries\com\paulscode\soundsystem\20120107\soundsystem-20120107.jar;C:\Users\USERNAME\AppData\Roaming\MCPACK\v4\libraries\commons-io\commons-io\2.4\commons-io-2.4.jar;C:\Users\USERNAME\AppData\Roaming\MCPACK\v4\libraries\lzma\lzma\0.0.1\lzma-0.0.1.jar;C:\Users\USERNAME\AppData\Roaming\MCPACK\v4\libraries\net\java\jinput\jinput\2.0.5\jinput-2.0.5.jar;C:\Users\USERNAME\AppData\Roaming\MCPACK\v4\libraries\net\java\jinput\jinput-platform\2.0.5\jinput-platform-2.0.5-natives-windows.jar;C:\Users\USERNAME\AppData\Roaming\MCPACK\v4\libraries\net\java\jutils\jutils\1.0.0\jutils-1.0.0.jar;C:\Users\USERNAME\AppData\Roaming\MCPACK\v4\libraries\net\minecraft\launchwrapper\1.3\launchwrapper-1.3.jar;C:\Users\USERNAME\AppData\Roaming\MCPACK\v4\libraries\net\minecraftforge\minecraftforge\9.10.0.845\minecraftforge-9.10.0.845.jar;C:\Users\USERNAME\AppData\Roaming\MCPACK\v4\libraries\net\minecraftforge\minecraftforge\9.10.1.871\minecraftforge-9.10.1.871.jar;C:\Users\USERNAME\AppData\Roaming\MCPACK\v4\libraries\net\optifine\optifine\1.6.2_HD_C4\optifine-1.6.2_HD_C4.jar;C:\Users\USERNAME\AppData\Roaming\MCPACK\v4\libraries\net\sf\jopt-simple\jopt-simple\4.5\jopt-simple-4.5.jar;C:\Users\USERNAME\AppData\Roaming\MCPACK\v4\libraries\org\apache\commons\commons-lang3\3.1\commons-lang3-3.1.jar;C:\Users\USERNAME\AppData\Roaming\MCPACK\v4\libraries\org\bouncycastle\bcprov-jdk15on\1.47\bcprov-jdk15on-1.47.jar;C:\Users\USERNAME\AppData\Roaming\MCPACK\v4\libraries\org\lwjgl\lwjgl\lwjgl\2.9.0\lwjgl-2.9.0.jar;C:\Users\USERNAME\AppData\Roaming\MCPACK\v4\libraries\org\lwjgl\lwjgl\lwjgl-platform\2.9.0\lwjgl-platform-2.9.0-natives-windows.jar;C:\Users\USERNAME\AppData\Roaming\MCPACK\v4\libraries\org\lwjgl\lwjgl\lwjgl_util\2.9.0\lwjgl_util-2.9.0.jar;C:\Users\USERNAME\AppData\Roaming\MCPACK\v4\libraries\org\ow2\asm\asm-all\4.1\asm-all-4.1.jar;C:\Users\USERNAME\AppData\Roaming\MCPACK\v4\libraries\org\scala-lang\scala-compiler\2.10.2\scala-compiler-2.10.2.jar;C:\Users\USERNAME\AppData\Roaming\MCPACK\v4\libraries\org\scala-lang\scala-library\2.10.2\scala-library-2.10.2.jar;C:\Users\USERNAME\AppData\Roaming\MCPACK\v4\versions\1.6.2-Forge9.10.1.871\1.6.2-Forge9.10.1.871.jar" net.minecraft.launchwrapper.Launch --username USER --session token:1337:1337 --version 1.6.2-Forge9.10.1.871 --gameDir "C:\Users\USERNAME\AppData\Roaming\MCPACK\v4" --assetsDir "C:\Users\USERNAME\AppData\Roaming\MCPACK\v4\assets" --tweakClass cpw.mods.fml.common.launcher.FMLTweaker -Dfml.ignorePatchDiscrepancies=true --server 1313131231232 --port 1337
Das baut mein Tool halt dynamisch zusammen.

Es stürzt einfach ohne Meldung ab, manchmal kommt schon eine aber bekomme die grade nicht reproduziert, es ist allerdings nicht so wenn ich den obigen Befehl in die CMD packe und das so ausführe...

Geändert von seppitm (26. Mai 2014 um 21:37 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.684 Beiträge
 
Delphi 5 Professional
 
#3

AW: Unabhängigen Prozess starten

  Alt 26. Mai 2014, 22:36
Habe den befehl nicht mehr habe es in der aktuellen Version mit der ShellAPI gemacht.
Der wäre aber wichtig.

Zitat:
Es handelt sich um das spiel um Minecraft richtig, was sollte sonst so viel verbrauchen.
Na Java ist doch ein bekannter Speicherfresser . Ne, im Ernst, ich hab keine Ahnung von Spieleservern und was da viel verbraucht und was nicht.
Zitat:
Code:
java -Xmx3072M -Xms1024M [...]
So, du gibst der JVM also minimal 1 GiB und maximal 3 GiB Speicher. Ist es denn ein 64 Bit Java?

Zitat:
Es stürzt einfach ohne Meldung ab [..]
Schau mal in die Ereignisanzeige, ob dort zum Absturzzeitpunkt etwas zu finden ist. Schreibt das Minecraft vielleicht noch irgendwelche Logs (oder kann man ihn bzw. die JVM dazu veranlassen)?

MfG Dalai
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.811 Beiträge
 
Delphi 12 Athens
 
#4

AW: Unabhängigen Prozess starten

  Alt 27. Mai 2014, 08:17
So, du gibst der JVM also minimal 1 GiB und maximal 3 GiB Speicher. Ist es denn ein 64 Bit Java?
Ist Java nicht maschinenunabhängig?

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.684 Beiträge
 
Delphi 5 Professional
 
#5

AW: Unabhängigen Prozess starten

  Alt 27. Mai 2014, 16:50
So, du gibst der JVM also minimal 1 GiB und maximal 3 GiB Speicher. Ist es denn ein 64 Bit Java?
Ist Java nicht maschinenunabhängig?
Die Programme, die man mit Java schreibt, sind unabhäüngig von der Plattform und der Maschine. Trotzdem gibt es zwei verschiedene JVMs bzw. Java-"Versionen" für Windows (und IIRC auch für Linux): 32 Bit und 64 Bit. Und wenn die Java-Anwendung in einem 32 Bit Java (java[w].exe ist dann eben 32 bittig) ausgeführt wird, ist der Adressraum auch nicht größer als für jedes andere 32 Bit Programm; es gelten dieselben Grenzen - und da auch die java[w].exe von Java7 kein Flag LARGE_ADDRESS_AWARE gesetzt hat, sind das 2 GiB Adressraum. Anders sieht die Sache natürlich mit einem 64 Bit Java aus, wie auch für normale 64 Bit Programme.

Unabhängig davon darf natürlich der Parentprozess nicht von selbst abschmieren, nur weil ein mittels CreateProcess erzeugter Kindprozess nicht laufen will/kann. Aber da die Informationen diesbzgl. bisher sehr dünn sind, kann man keinerlei Aussage zu möglichen Ursachen treffen.

MfG Dalai
  Mit Zitat antworten Zitat
seppitm

Registriert seit: 10. Nov 2010
14 Beiträge
 
#6

AW: Unabhängigen Prozess starten

  Alt 27. Mai 2014, 17:34
Ja ist 64 ein 64 Bit java und es gibt keinerlei Logs. Das frisst so viel Speicher weil es ein Dev Server ist (modde halt).

Aber ich habe ne Methode gefunden die gut aussieht:
http://stackoverflow.com/questions/8...independent-pr

Klingt logisch wenn man das gelesen hat:
http://stackoverflow.com/questions/5...endent-process

Ich werde es in Delphi ausprobieren, wenns nicht klappt dann Schreibe ich die Lösung halt in Java oder so.

Danke erstmal für die Hilfe.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz