【问题标题】:Powershell 7Zip Compression Can't Allocate Required Memory [duplicate]Powershell 7Zip 压缩无法分配所需的内存 [重复]
【发布时间】:2016-12-28 22:46:02
【问题描述】:

所以我有一个脚本应该备份数据库并将其压缩成一个 zip 文件。我正在使用 7Zip 并得到以下信息:

Error: "Can't Allocate Required Memory"

当我尝试压缩备份时。备份大约为 2.3GB,当我查看任务管理器时,我尝试在其上运行脚本的远程计算机有 3GB 可用内存。另外,当我在远程机器上打开 Powershell 并运行代码时

set-alias sz "$env:C:\Temp\7-Zip\7z.exe"
sz a -t7z $zipfile $backup

这样就可以了。

这是我的代码:

Invoke-Command -Session $s -ScriptBlock {set-alias sz "$env:C:\Temp\7-Zip\7z.exe"}
Write-Host "Compressing Database and creating Zip file...."
Invoke-Command -Session $s -ScriptBlock {sz a -t7z $zipfile $backup}
Write-Host "Completed Compressing Database and creating Zip file!"

我查看了a 7Zip forum post 并尝试减小字典大小,但它仍然不起作用。任何有关如何解决此问题的想法或建议将不胜感激。

编辑:远程机器的 Powershell 版本是 2.0 并且是 64 位的。

【问题讨论】:

    标签: powershell memory compression 7zip


    【解决方案1】:

    如果您使用 powershell remoting 在远程机器上执行脚本,请阅读这篇文章HERE

    正如您将看到的,远程机器 wsman 服务对通过 psremoting 运行的脚本可以消耗多少资源有一些可配置的限制。

    要在更改之前消除任何 wsman 限制,您可以尝试在本地和交互地运行脚本,看看它是否有效。如果您可以访问机器。

    【讨论】:

      【解决方案2】:

      这可能是因为您运行的是 32 位版本的 Powershell。要检查,请尝试:

      [System.IntrPtr]::Size
      

      如果是 4 - 您使用的是 32 位 Powershell。

      【讨论】:

      • 远程机器正在运行 64 位版本的 Powershell。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-27
      相关资源
      最近更新 更多