每当我通过内置 shell 或 ConEmu 打开 Powershell 提示符时,Powershell 的内存使用量都过高 - 通常在 1.5 Gb 左右。
以管理员身份打开时情况更糟,它大约每秒就会在 1Gb 和 2Gb 之间跳变。
从我的文件中删除所有内容~/Documents/WindowsPowerShell/Microsoft.PowerShell_profile.ps1
没有任何效果。
运行[System.Gc]::Collect()
会将内存使用量降至约 30Mb,并且保持这种状态。
我如何才能找出造成这种高使用率的原因?我能找到的大多数 Powershell 内存建议都与运行脚本时的高使用率有关,而我的 shell 似乎什么也没做。
Windows 10,Build 1703。
答案1
今天我也遇到了同样的问题,powershell 在启动时会暂停大约 5 秒钟。原来是 PSReadline 的问题。命令历史记录太大(在我的情况下大约 600MB),清除它解决了这个问题。
您可以在这里找到历史文件:
C:\Users\{user}\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadline
编辑
最大历史记录计数可以像这样设置:
Set-PSReadlineOption -MaximumHistoryCount 1024