我正在用C#編寫一個使用.NET 4.5的程序,這將允許我監視特定進程的內存,CPU和網絡使用情況,然後根據我的需求。Process.PrivateMemorySize64返回提交的內存而不是私有的
爲了獲得某個特定進程的內存使用情況,我正在檢查該Process
對象的PrivateMemorySize64
屬性。我希望看到該進程使用的專用內存,但實際上它顯示了「提交」中的金額,這由Windows資源監視器確認。
我的問題是:
1)有人知道爲什麼會出現這個錯誤嗎? 2)有沒有修復它? 3)如果沒有修復,是否有另一種直接的方式可以獲得爲進程保留的私有內存?
這裏是我的代碼的相關部分:
using System;
// I add all the open Processes to an array
Process[] localAll = Process.GetProcesses();
// I then add all the processes to a combobox to select from
// There's a button that updates labels with requested info
Process[] p = Process.GetProcessesByName(comboBox1.SelectedItem.ToString());
label1.Text = p[0].PrivateMemorySize64.ToString() + " bytes";
一次again..hard告訴什麼是錯的時候,我們不能看到你正在使用..它肯定會有助於工作,以顯示你的代碼 – MethodMan
代碼從閱讀的文檔'PrivateMemorySize64'中,提交大小正是我期望它返回的。 「私人記憶」是什麼意思?你在談論私人工作組嗎? –
是的,我的意思是私人工作集。我對這種含糊之處表示歉意。 – fakeplasticandroid