任务管理器中的进程提交大小C#
问题描述:
我需要在C#中获取进程的“提交大小”(Windows任务管理器>详细信息)。任务管理器中的进程提交大小C#
一见钟情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;
}
输出
还有就是我的计算提交大小和在任务管理器 '提交大小' 之间的差异。有任何想法吗?
解
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);
}
答
此值是在PagedMemorySize64属性。文档中提到,这是“页面文件大小”进程的性能计数器和here它被记录在Vista/2008的任务管理器中被称为“提交大小”(我会假设更新的操作系统)。
可能重复的[可用页面文件大小/虚拟内存](https://stackoverflow.com/questions/14590162/available-pagefile-size-virtual-memory) – Martheen