2012-02-15 89 views
0
private float FreeMemory 
{ 
    get { return _nFreeMemory; } 
    set 
    { 
     _nFreeMemory = value; 
     statusBarPanelMem.Text = _nFreeMemory + " MB prosto"; 
    } 
} 

private int CPUUsage 
{ 
    get { return _nCpuUsage; } 
    set 
    { 
     _nCpuUsage = value; 
     statusBarPanelCPU.Text = "CPU poraba " + _nCpuUsage + "%"; 
    } 
} 

然後我使用的定時器和調用FreeMemory和CPUUsage得到內存泄漏和系統內存不足

private void InitialiseCounterRamNetwork() 
{ 
    _cpuCounter = new PerformanceCounter("Processor", "% Processor Time", "_Total", true); 
    _ramCounter = new PerformanceCounter("Memory", "Available MBytes", true); 
} 

private void timerMemProcNetwork_Tick(object sender, EventArgs e) 
{ 
    FreeMemory = _ramCounter.NextValue(); 
    CPUUsage = Convert.ToInt32(_cpuCounter.NextValue()); 
} 

但becouse這個我得到的內存泄漏和系統內存不足異常。爲什麼GC不收集這個?

+1

說清楚:這是否會在空白應用程序中再現問題,而沒有其他代碼?定時器運行速度有多快? – 2012-02-15 17:26:51

回答

1

不可重現(Fx 4.5)。

列出的代碼不會導致任何內存泄漏。