监控某进程内存占用异常

时间:2023-01-21 12:14:45

1.利用tasklist命令把以T开头的进程PID值和占用内存的信息
--------------------->>d:\test.txt
echo %time% >>d:\test.txt
tasklist /fi "IMAGENAME eq T*" /fo list >>d:\test.txt
echo  --------------------->>d:\test.txt

相关介绍如下,其中/svc和/v有更详细点的信息
http://baike.baidu.com/link?url=wGjl0Cbv7F8ogB3r3HKpk105lPtcQiG50BAPCnuZkzG6c3Te2BKrsekLOI9iwgU05utDhSpBAmxP5B486nGgiK

此命令在win2003下路径是C:\Documents and Settings\username
在WIN7下路径是C:\WINDOWS\System32

2.利用schtasks命令将此bat文件每2分钟执行一次
schtasks /create /tn Mytask /tr d:\test.bat /sc MINUTE /mo 2

3. 在C#下得知此进程相关信息

System.Diagnostics.Process.GetCurrentProcess().PrivateMemorySize64 / 1024
http://hi.baidu.com/rinehart/item/bb96c02894cc60f950fd87fd

 
4.System.Exception属性
ex.Message 错误消息 
ex.StackTrace错误堆栈
ex.TargetSite.Name 方法名
ex.TargetSite.DeclaringType.FullName类名
ex.InnerException.Message成员名

5.托管内存与非托管内存
.NET简谈互操作(四:基础知识之Dispose非托管内存)
http://www.cnblogs.com/wangiqngpei557/archive/2011/06/29/2093345.html

发现并防止托管代码中出现内存泄漏
http://msdn.microsoft.com/zh-cn/magazine/cc163491.aspx