2013-07-18 2 views
0

C# 응용 프로그램 내에서 메모리 소비를 모니터링 할 수있는 방법이 있습니까? 내 프로그램에서 사용하는 메모리 양에 따라 변수를 동적으로 변경하고 싶습니다.C# 응용 프로그램, 메모리 소비 모니터

데이터베이스에 쿼리를 완료하고이 데이터를 파일에 쓰기 전에 일시적으로 보관하는 코드가 있습니다. 또한 사용자가 데이터를 메모리에서 덤프하고 파일에 쓴 시점을 수동으로 변경할 수 있도록하는 코드가 있지만 프로그램에서 자동으로 처리하도록합니다.

예 : Task Manager에서 볼 때, 다음의 정수를 감소하고 처리를 계속처럼 내 프로세스가 (700,000K 메모리 사용량에 도달하면.

감사합니다, 에릭

+0

Google 하셨나요? –

+0

복제 http://stackoverflow.com/questions/461139/is-there-a-way-to-retrieve-a-c-sharp-apps-current-memory-usage –

+0

@SriramSakthivel 예, 사실 꽤 많이 했어요. 난 단지 프로세서 사용량을 모니터링하는 방법을 찾았습니다! 그래도 도와 ​​줘서 고마워! :) – Eric

답변

7

당신은 현재의 메모리 사용량이 방법으로 얻을 수 있습니다 :

var proc = System.Diagnostics.Process.GetCurrentProcess(); 
var mbUsed = (proc.PrivateMemorySize64/1024)/1024; 

PrivateMemorySize64는 사용 된 메모리 양을 바이트 단위로 나타내는 long입니다.

+0

완벽이 내가 정확히 찾고있는 것입니다! 간단하고 간단한 솔루션. 감사! – Eric

0
당신이 PerformanceCounter 클래스에 대해 검색 할 수 있습니다

.

0

를 왜 사용하지 성능 카운터 및 프로세스 클래스를 모두 힙의 가상 바이트 바이트를 모니터링하거나 사용 VirtualMemorySize64