設立一個定時器tmrMonitor,該定時器會在程序運行時不斷把程序的占用內存和占用線程數寫到LOG/MEM目錄下。
我設置的定時器間隔是3000毫秒,記錄后的信息可以用來分析一段時間內程序的運行狀況,比如內存泄漏問題。
LogAddress = String.Concat(LogAddress, "http://MEM//",
DateTime.Now.Year, '-', DateTime.Now.Month, '-',
DateTime.Now.Day, "_mem.log");
//需要 System.Diagnostics;
Process currentProcess = Process.GetCurrentProcess();
StreamWriter sw = new StreamWriter(LogAddress, true);
sw.WriteLine('[' + DateTime.Now.ToString() + ']');
sw.WriteLine("進程標識: " + currentProcess.Id.ToString());
sw.WriteLine("進程名稱: " + currentProcess.ProcessName.ToString());
sw.WriteLine("占用內存: " +
(currentProcess.WorkingSet64 / 1024).ToString() + "KB");
sw.WriteLine("線程數量: " + currentProcess.Threads.Count.ToString());
sw.WriteLine();
sw.Close();
}
新聞熱點
疑難解答