Я создал PerformanceCounter, который может проверить общее использование памяти в%, но проблема в том, что она не дает мне того же значения, что и в диспетчере задач показывает мне. например: моя программа говорит 34%, но диспетчер задач говорит 40%.
Любые идеи?
Примечание
Я пытаюсь получить доступную ОЗУ системы, а не используемую ОЗУ процессом.
Текущий код
private PerformanceCounter performanceCounterRAM = new PerformanceCounter();
performanceCounterRAM.CounterName = "% Committed Bytes In Use";
performanceCounterRAM.CategoryName = "Memory";
progressBarRAM.Value = (int)(performanceCounterRAM.NextValue());
labelRAM.Text = "RAM: " + progressBarRAM.Value.ToString(CultureInfo.InvariantCulture) + "%";
ИЗМЕНИТЬ
Я обновляю индикатор прогресса и метку каждую секунду таймером.