2012-02-15 88 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)。

列出的代码不会导致任何内存泄漏。