8

リモート セッション ( ) でPowerShellを実行するとetsn {servername}、Java プロセスを実行できないように見えることがあります。

[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「ハロー、ワールド!」です。「Hello」を標準出力に出力するだけのアプリケーション。

では、問題は、PowerShell セッションの反対側でプロセスを実行することについて何か特別なことがあるのでしょうか? Java VM がどのように機能するかについて、このような扱いができない特別なことがありますか? メモリはリモート コンピューターに割り当てられますよね? 利用可能な物理メモリの読み取り値は次のとおりです。

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

しかし、サーバーにリモート デスクトップし、OS に空きメモリの量を尋ねると、270 MB の物理メモリが空いていると表示されます。どう考えているか教えてください!

4

3 に答える 3

11

これによると:http: //msdn.microsoft.com/en-us/library/aa384372 (VS.85).aspx

MaxMemoryPerShellMB シェルの子プロセスを含め、シェルごとに割り当てられるメモリの最大量を指定します。デフォルトは150MBです

シェルMBあたりの最大メモリを増やす

winrm set winrm/config/winrs '@{MaxMemoryPerShellMB="1000"}' 
于 2011-01-20T02:01:37.080 に答える
0

皆さんと共有したい別の答えがあります。私は同じ状況に陥り、Java.exeのメモリの最小/最大を増やしても、winrmを使用しても問題は解決しませんでした。

2 つのサーバーを比較しました。1 つは動作しており、もう 1 つは動作していません。

このリンクhttps://technet.microsoft.com/en-us/library/ff520073%28v=ws.10%29.aspxを使用して、WINRS とリモート PowerShell を実行するために必要な Windows Management Foundation を確認しました。

結果: Windows Server 2008 R2 を実行している両方のサーバー。WMF 2.0 を実行する 1 つのサーバーと、WMF 3.0 を実行する 1 つのサーバー。

驚いたことに、2.0 を実行しているサーバーは機能していましたが、3.0 を実行しているサーバーは機能していませんでした。

私の解決策: 3.0 WMF を 4.0 にアップグレードしました!

于 2015-04-07T13:51:41.287 に答える
0

参考までに、私たちは同じ症状に苦しみ、他の2つの回答に基づいて無限の調査を行いました. 私たちにとっての実際の解決策は、jdk1.8.0_31 を jdk1.8.0_51 に変更することでした。

于 2015-12-02T13:57:13.053 に答える