Memory usage of current thread on C# windows form app.
윈도우 폼을 만들어 실행할 때 현재 프로그램이 메모리를 얼마나 사용하는지,
어떤 동작에 메모리 변화가 어떤지 실시간으로 확인하고 싶은 경우가 많이 있죠.
그래서 다음과 같은 코드가 필요할 수 있습니다.
먼저 디자이너 코드에는 다음과 같이 Timer Class가 있어야 합니다.
private System.Windows.Forms.Timer timer1;
private void InitializeComponent()
{
this.timer1 = new System.Windows.Forms.Timer(this.components);
//
// timer1
//
this.timer1.Enabled = true;
this.timer1.Interval = 3000; // 3초마다 메모리 값을 읽어옵니다.
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
}
위 만들어진 timer1을 이용해 아래와 같이 메모리 양을 구해오는 코드를 Form Text 속성에 할당해 주면 되는 것이죠.
#region 현재 쓰래드의 메모리 사용량
private readonly string titleStr = "기본적으로 설정할 타이틀 명칭을 기입합니다";
private void timer1_Tick(object sender, EventArgs e)
{
long size = System.Diagnostics.Process.GetCurrentProcess().WorkingSet64;
string sizeStr = GetMemorySize(size);
this.Text = string.Format("{0} - {1}", titleStr, sizeStr);
}
enum MemorySizeType
{
Byte, KByte, MByte, GByte, TByte
}
private string GetMemorySize(Int64 usageMemory)
{
String retStr = String.Empty;
System.Text.StringBuilder sb = new System.Text.StringBuilder();
int i = 0;
while (usageMemory > 1024L)
{
usageMemory = (Int64)(usageMemory / 1024L);
i++;
}
MemorySizeType sizeType = (MemorySizeType)i;
sb.AppendFormat("{0}{1}", usageMemory, sizeType.ToString());
retStr = sb.ToString();
return retStr;
}
#endregion
벌써 끝이네요…
참~ 쉽죠잉~?
댓글
이 글 공유하기
다른 글
-
Visual C++ 6 Unleashed
Visual C++ 6 Unleashed
2009.06.29 -
C# : Unit Class - File Size
C# : Unit Class - File Size
2009.05.14 -
C# : TextBox Auto Scrolling
C# : TextBox Auto Scrolling
2009.04.20 -
Better string.IsNullOrEmpty() ? How to do C#.NET 3.0
Better string.IsNullOrEmpty() ? How to do C#.NET 3.0
2009.04.14