我是powershell的新手,但已经编写了一些在windows2003服务器上运行的脚本.它肯定比cmd脚本更强大(可能是因为我有编程背景).但是,当我进一步深入研究时,我注意到:
我还没有谈到C#,但有人会认为用C#编写任务有时候会更好吗?
同时,我在powershell中看过有关内存泄漏的帖子.我是否认为脚本创建的内存将与powershell的进程空间一致,因此当脚本终止因此powershell终止时,创建的内存会被清除?
我的PowerShell.exe 2.0本身(不运行脚本)在XP上大约是30MB.这些天,每台机器的平均内存不应过多担心.关于内存泄漏,有些情况下,当对象没有得到妥善处理时,人们使用第三方库存在内存泄漏.要解决那些必须手动调用垃圾收集器的问题[gc]::Collect(),但这种情况很少见.其他时候我见过人们使用它Get-Content来读取一个非常大的文件并在使用之前将其分配给变量.这也将占用大量内存.在这种情况下,您可以使用管道一次读取文件部分以减少内存占用.
1 - 是的,创建了一个新流程.运行cmd脚本,vb脚本或C#编译的可执行文件时也是如此.
2 - 加载powershell主机和运行时将占用一些非常重要的内存,这些内存因系统和版本而异.它通常是一个比cmd shell或专用C#exe更重的进程.对于那些MB,您将获得丰富的运行时和库支持,使Powershell如此强大.
普通的留言:
| 归档时间: |
|
| 查看次数: |
3190 次 |
| 最近记录: |