当我运行 时CMD.exe
,它几乎立即启动。运行PowerShell.exe
并没有提供完全相同的体验。PowerShell 启动的等待时间范围从几秒到几秒甚至更长时间。
为什么这些如此不同?有什么可以做来优化 PowerShell 的启动时间吗?
答案1
除了硬件升级可能使 I/O 或处理速度更快之外,作为用户,你几乎无法合法地修改闭源操作系统上的闭源程序以“使其更快”。当然,有很多“通用”技巧可以全面提高性能,但这些技巧并不直接针对电源外壳。 例如:
- 禁用主动病毒扫描程序或使用更快的病毒扫描程序
- 对硬盘进行碎片整理或使用自定义碎片整理工具
- 使用 SSD 减少访问时间,使用硬件 RAID 控制器增加带宽,或两者结合
- 使用更快的 RAM 来减少内存延迟并提高吞吐量
- 使用较新的硬件平台(例如 Ivy Bridge)实现全面性能改进并消除瓶颈
- 重新安装操作系统或运行各种“清理”程序(可能有危险)来清除累积的垃圾,例如不需要的注册表值、临时文件、SxS 配置、VS2003/2005 中不需要的运行时、启动时启动的程序等。
所有这些都是针对程序运行缓慢且无法由你直接修改或改进的控制的普遍问题的“旁道攻击”。
我能想到的唯一可能以任何方式影响 PowerShell 启动性能的事情直接地是:
- 环境变量的数量和大小。您可以在“系统的高级设置”下更改环境变量。
- 在 PowerShell 启动时启动的脚本。如果您不确定是否安装了这些脚本,那么您可能确实安装了它们,而且它们显然会影响启动时间。
其中任何一个都可能是您问题的答案,但如果不是,除了我上面列出的一般侧信道性能影响因素之外,我不知道还有哪些其他因素会影响 PowerShell 启动性能。