列出所有进程及其当前的内存和 CPU 消耗?

Posted

技术标签:

【中文标题】列出所有进程及其当前的内存和 CPU 消耗?【英文标题】:List all processes and their current memory & CPU consumption? 【发布时间】:2010-11-17 21:37:46 【问题描述】:

如何获取 C# 中所有进程的列表以及每个进程的当前内存和 CPU 消耗?

非常感谢示例代码。

【问题讨论】:

【参考方案1】:

Process class 有一个 GetProcesses 方法,可以让您枚举正在运行的进程并列出一系列统计信息,例如内存使用情况和 CPU 时间。查看属性下的文档以获取统计信息。

内存使用是一个复杂的问题。真的没有一个数字来描述用法。请参阅 Russinovich 关于此事的优秀系列。第一部分在这里:http://blogs.technet.com/markrussinovich/archive/2008/07/21/3092070.aspx

【讨论】:

我知道这个类,但我不知道如何获取 CPU 消耗,或者 100 个内存相关字段中的哪一个实际上意味着真正的 RAM 消耗。 内存使用有点复杂,但我猜你可能想看看 PrivateMemory。 我想这取决于您所说的 RAM(内存)消耗是什么意思。 Windows 至少为进程使用的内存量存储两个值。正在使用的物理内存,以及分配给进程的虚拟内存的大小。两者都是消费...... 井过程监控器有点复杂。如果你想给用户一个简化的世界观,你需要弄清楚你想如何简化它。 @Alex 要了解为什么性能计数器“有延迟”的解释,请参阅我的this old answer,我在其中深入了解了 为什么.

以上是关于列出所有进程及其当前的内存和 CPU 消耗?的主要内容,如果未能解决你的问题,请参考以下文章

查看当前cpu和内存占用最多的的程序

查看占用内存最多的进程

查看本机CPU内存使用率前10的进程

进程管理

linux下查看最消耗CPU内存的进程

Linux终端查看最消耗CPU内存的进程