簡體   English   中英

使用Powershell Invoke-Command進行遠程執行的OutOfMemory異常

[英]OutOfMemory Exception on remote execution using Powershell Invoke-Command

我試圖使用invoke-command在遠程計算機上執行exe。 使用遠程桌面登錄計算機后,在遠程計算機上執行exe需要1GB內存,並在一分鍾后執行完成。 而當我在同一台機器上使用Invoke-Command執行相同的exe時,進程返回OutOfMemoryException並突然結束。 我的invoke命令就像Invoke-Command -Session $someSessionVariable -ScriptBlock {Invoke-Expression "abc.exe --arg arg"} -AsJob

我是否遺漏了有關遠程調用限制的內容?

提前致謝。

完整的PowerShell腳本,基於mjolinor的答案,適用於任何想要跳過原因並讓它工作的人:

Set-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB 1000000
Set-Item WSMan:\localhost\Plugin\Microsoft.PowerShell\Quotas\MaxMemoryPerShellMB 1000000
Restart-Service WinRM

從:

http://msdn.microsoft.com/en-us/library/windows/desktop/aa384372(v=vs.85).aspx

遠程shell的defult內存限制為150MB

MaxMemoryPerShellMB指定每個shell分配的最大內存量,包括shell的子進程。 默認值為150 MB。

作為mjolinor答案的補充,您可以通過運行以下命令來更改MaxMemoryPerShellMB:

sl WSMan:\localhost\Shell
Set-Item MaxMemoryPerShellMB 300

參考: http//blogs.technet.com/b/heyscriptingguy/archive/2013/07/30/learn-how-to-configure-powershell-memory.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM