任务管理器中的进程提交大小C#

问题描述:

我需要在C#中获取进程的“提交大小”(Windows任务管理器>详细信息)。任务管理器中的进程提交大小C#

enter image description here

一见钟情Process类不提供相关财产。 有人能帮助我吗?

编辑

private static void ShowCommitSize(string processName) 
    { 
     Process process = Process.GetProcessesByName(processName).FirstOrDefault(); 
     if (process != null) 
     { 
      var pagedMemMb = ConvertBytesToMegabytes(process.PagedMemorySize64); 
      Console.WriteLine(process.ProcessName + "\t" + process.Id + "\t" + Math.Round(pagedMemMb, 3) + " MB"); 
     } 
     Console.ReadLine(); 
    }  

    static double ConvertBytesToMegabytes(long bytes) 
    { 
     return (bytes/1024f)/1024f; 
    } 

输出

还有就是我的计算提交大小和在任务管理器 '提交大小' 之间的差异。有任何想法吗?

enter image description here

private static void ShowCommitSize(string processName) 
    { 
     var process = Process.GetProcessesByName(processName).FirstOrDefault(); 
     if (process != null) 
     { 
      var memKb = ConvertBytesToKilobytes(process.PagedMemorySize64); 
      Console.WriteLine(process.ProcessName + "\t" + process.Id + "\t" + memKb.ToString("N") + " K"); 
     } 
     Console.ReadLine(); 
    }  

    static double ConvertBytesToKilobytes(long bytes) 
    { 
     return (bytes/1024f); 
    } 
+0

可能重复的[可用页面文件大小/虚拟内存](https://*.com/questions/14590162/available-pagefile-size-virtual-memory) – Martheen

此值是在PagedMemorySize64属性。文档中提到,这是“页面文件大小”进程的性能计数器和here它被记录在Vista/2008的任务管理器中被称为“提交大小”(我会假设更新的操作系统)。

+0

谢谢!我编辑了我的问题,并使用了PagedMemorySize64属性。计算的提交大小与任务管理器中显示的值之间仍然存在差异。有任何想法吗? – BertAR

+0

@BertAR你问的是哪部分差异? 124552 Kb = 121.6 Mb。你问的是0.6 Mb还是误将kB与Mb比较?截图之间的值是否有变化? –

+0

感谢您的迅速回复!确实,我的转换是错误的。祝你今天愉快。 – BertAR