AlanAugust Asked:2020-09-20 16:34:42 +0800 CST2020-09-20 16:34:42 +0800 CST 2020-09-20 16:34:42 +0800 CST 在 C# 中处理进程 772 如何获取当前进程使用的 RAM 量? c# 2 个回答 Voted Best Answer MiT 2020-09-20T16:58:21+08:002020-09-20T16:58:21+08:00 如果您需要知道物理内存的数量,那么您需要使用WorkingSet64,它给出了“为相应进程分配的物理内存量”。您还可以使用PeakWorkingSet64,它给出“用于相应进程的最大物理内存量” 所有流程: Process[] processes = Process.GetProcesses(); foreach (Process p in processes) { string memoryUse = (p.WorkingSet64 / 1024).ToString(); Console.WriteLine($"Process ID: {p.Id}, Process Name: {p.ProcessName}, Memory usage: {memoryUse}"); } 定义过程: Process[] name = Process.GetProcessesByName("MyProcessName"); foreach (Process p in name) { string memoryUse = (p.PagedMemorySize64 / 1024).ToString(); Console.WriteLine($"Memory usage: {memoryUse}"); } Andrew_STOP_RU_AGRESSION_IN_UA 2020-09-20T18:55:48+08:002020-09-20T18:55:48+08:00 如果您想知道总内存使用情况: Process[] processes = Process.GetProcesses(); int memoryUse = 0; foreach (Process p in processes) { memoryUse += p.PagedMemorySize64 / 1024; } Console.WriteLine($"PC Memory usage: {memoryUse}"); 如果您需要每个单独进程的用途,请使用 MiT 的答案
如果您需要知道物理内存的数量,那么您需要使用WorkingSet64,它给出了“为相应进程分配的物理内存量”。您还可以使用PeakWorkingSet64,它给出“用于相应进程的最大物理内存量”
所有流程:
定义过程:
如果您想知道总内存使用情况:
如果您需要每个单独进程的用途,请使用 MiT 的答案