Powershell 7Zip 压缩无法分配所需的内存
Powershell 7Zip Compression Can't Allocate Required Memory
所以我有一个脚本应该备份数据库并将其压缩到一个 zip 文件中。我正在使用 7Zip 并得到以下信息:
Error: "Can't Allocate Required Memory"
当我尝试压缩备份时。备份大约是 2.3GB,当我查看任务管理器时,我尝试 运行 脚本的远程机器有 3GB 可用内存。另外,当我在远程机器上打开 Powershell 并且 运行 代码
set-alias sz "$env:C:\Temp-Zipz.exe"
sz a -t7z $zipfile $backup
这样就可以了。
这是我的代码:
Invoke-Command -Session $s -ScriptBlock {set-alias sz "$env:C:\Temp-Zipz.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 是 32 位版本。要检查,请尝试:
[System.IntrPtr]::Size
如果是 4 - 您使用的是 32 位 Powershell。
如果您使用 powershell remoting 在远程计算机上执行脚本,请阅读本文 HERE
正如您将看到的,远程机器 wsman 服务对脚本 运行ning 通过 psremoting 可以消耗的资源量有一些可配置的限制。
要在更改之前消除任何 wsman 限制,您可以在本地尝试 运行 脚本并以交互方式查看它是否有效。如果您可以访问机器。
所以我有一个脚本应该备份数据库并将其压缩到一个 zip 文件中。我正在使用 7Zip 并得到以下信息:
Error: "Can't Allocate Required Memory"
当我尝试压缩备份时。备份大约是 2.3GB,当我查看任务管理器时,我尝试 运行 脚本的远程机器有 3GB 可用内存。另外,当我在远程机器上打开 Powershell 并且 运行 代码
set-alias sz "$env:C:\Temp-Zipz.exe"
sz a -t7z $zipfile $backup
这样就可以了。
这是我的代码:
Invoke-Command -Session $s -ScriptBlock {set-alias sz "$env:C:\Temp-Zipz.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 是 32 位版本。要检查,请尝试:
[System.IntrPtr]::Size
如果是 4 - 您使用的是 32 位 Powershell。
如果您使用 powershell remoting 在远程计算机上执行脚本,请阅读本文 HERE
正如您将看到的,远程机器 wsman 服务对脚本 运行ning 通过 psremoting 可以消耗的资源量有一些可配置的限制。
要在更改之前消除任何 wsman 限制,您可以在本地尝试 运行 脚本并以交互方式查看它是否有效。如果您可以访问机器。