Question

Quand je lance PowerShell dans une session à distance (etsn {servername}), je peux parfois sembler pour exécuter des processus Java, même le plus simple:

[chi-queuing]: PS C:\temp> java -cp .\hello.jar Hello
Error occurred during initialization of VM
Could not reserve enough space for object heap

Hello.jar est un "Bonjour, monde!" application qui devrait simplement imprimer "Bonjour" à sortie standard .

Alors, la question est, est-il spécial quelque chose sur les processus en cours d'exécution de l'autre côté d'une session PowerShell? Y at-il quelque chose spécial sur la façon dont fonctionne la machine virtuelle Java qui pourrait ne pas permettre un traitement comme celui-ci? La mémoire est allouée sur l'ordinateur distant, non? Voici une lecture sur la mémoire physique disponible:

[chi-queuing]: PS C:\temp> $mem = Get-wmiobject -class Win32_OperatingSystem
[chi-queuing]: PS C:\temp> $mem.FreePhysicalMemory
1013000

Mais, quand je le bureau à distance au serveur et demander à l'OS la quantité de mémoire libre, il est, il dit sans mémoire physique 270 Mo. Faites-moi savoir ce que vous pensez!

Était-ce utile?

La solution

D'après ceci: http://msdn.microsoft.com/en-us/ bibliothèque / aa384372 (VS.85) .aspx

MaxMemoryPerShellMB  Indique la quantité maximale de mémoire allouée par décortiqués, y compris les processus enfants du shell. La valeur par défaut est 150 Mo .

Augmentation Max mémoire par Shell MB

winrm set winrm/config/winrs '@{MaxMemoryPerShellMB="1000"}' 

Autres conseils

J'ai une réponse différente à partager avec vous les gars. Je me suis retrouvé dans la même situation et de plus en plus pour Java.exe min / max de mémoire ou à l'aide winrm n'a pas résolu mon problème.

Je compare deux serveurs:. Un travail et un ne fonctionne pas

J'utilisé ce lien https: // technet.microsoft.com/en-us/library/ff520073%28v=ws.10%29.aspx pour vérifier ma Management Foundation de Windows qui est nécessaire pour exécuter winrs et aussi powershell à distance.

le résultat: Les deux serveurs exécutant Windows Server 2008 R2. Un serveur exécutant WMF 2.0, une course WMF 3.0.

À ma grande surprise, le serveur en cours d'exécution 2.0 fonctionnait et celui qui exécute 3.0 était pas!

Ma solution: je mis à jour le 3.0 WMF à 4,0

Juste un FYI: nous avons subi les mêmes symptômes, et a eu une enquête sans fin sur la base des deux autres réponses. La solution réelle pour nous changeait jdk1.8.0_31 à jdk1.8.0_51.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top