首页 新闻 搜索 专区 学院

c# 获取某进程占用的内存

0
悬赏园豆:10 [已解决问题] 解决于 2013-11-22 14:38

Process[] processes = Process.GetProcesses();
            long totalMemery = 0;
            StringBuilder sbResult = new StringBuilder();
            foreach (Process process in processes)
            {
                sbResult.AppendFormat("名称:{0} 内存大小:{1}KB \n", process.ProcessName, process.PrivateMemorySize64 / 1024);
                totalMemery += process.PrivateMemorySize64 / 1024;
            }
            string result = string.Format("进程总数 {0} 个,共占内存:{1}MB \n", processes.Length, totalMemery / 1024)
                + sbResult.ToString();
            MessageBox.Show(result);

===================

使用这个方法,获取到内存与[任务管理器]里面获取到的内存,不一致,怎么获取到和[任务管理器]里一致的数据??

simadi的主页 simadi | 菜鸟二级 | 园豆:280
提问于:2013-08-30 14:14
< >
分享
最佳答案
0

Process 类关于 MemorySize 的属性有好几个,你只是取了 PrivateMemorySize64 属性而已。

你仔细看下“任务管理器”,里面关于进程内存的列也有好几个。

收获园豆:5
Launcher | 高人七级 |园豆:45045 | 2013-08-30 16:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册