Как получить объём используемой оперативной памяти текущих процессов?
Если нужно узнать количество физической памяти, то необходимо использовать 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}");
}
Если нужно узнать общее использование памяти:
Process[] processes = Process.GetProcesses();
int memoryUse = 0;
foreach (Process p in processes)
{
memoryUse += p.PagedMemorySize64 / 1024;
}
Console.WriteLine($"PC Memory usage: {memoryUse}");
Если нужны юзеджи каждого отдельного процесса то использовать ответ MiT
Сборка персонального компьютера от Artline: умный выбор для современных пользователей