Powershell 7Zip 压缩无法分配所需的内存

标签 powershell memory compression 7zip

所以我有一个脚本应该备份数据库并将其压缩到 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 远程处理在远程计算机上执行脚本,请阅读本文 HERE

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

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

关于Powershell 7Zip 压缩无法分配所需的内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41370795/

相关文章:

windows - 在 PowerShell 中查找独立于操作系统的处理器架构

visual-studio-2010 - nUnit 测试寻找 {assembly-name}.dll.config

Java VM - 释放的内存是否返回到操作系统?

c# - 链式 GZipStream/DeflateStream 和 CryptoStream (AES) 在读取时中断

java - 解压缩具有更多嵌套字符串的字符串

Java 游程长度编码

批处理文件中的 Powershell - 如何转义元字符?

iis-7 - 如何在 PowerShell 中迭代应用程序 IIS7 的身份验证

c - 为什么这段代码不在 C 中分配内存?

ios - xcode ios opencv 内存泄漏。应用程序崩溃