c#程序定期把内存信息记录到log日志示例

时间:2022-01-11 16:33:31 

设立一个定时器tmrMonitor,该定时器会在程序运行时不断把程序的占用内存和占用线程数写到LOG\MEM目录下。
我设置的定时器间隔是3000毫秒,记录后的信息可以用来分析一段时间内程序的运行状况,比如内存泄漏问题。


/// <summary>
/// Timer组件tmrMonitor的Tick事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void tmrMonitor_Tick(object sender, EventArgs e)
{
    string LogAddress = Environment.CurrentDirectory + "\\Log";
    if (!Directory.Exists(LogAddress + "\\MEM")) //需要System.IO
    {
        Directory.CreateDirectory(LogAddress + "\\MEM");
    }

    LogAddress = String.Concat(LogAddress, "\\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();
}

标签:c#,序列化
0
投稿

猜你喜欢

  • 实现 Java 本地缓存的方法解析

    2023-12-04 01:24:33
  • Java中高效的判断数组中某个元素是否存在详解

    2021-05-25 17:32:08
  • Maven搭建springboot项目的方法步骤

    2022-08-08 09:50:09
  • Java中TypeReference用法详情说明

    2023-11-24 19:05:05
  • C#实现图片上传(PC端和APP)保存及 跨域上传说明

    2022-11-10 17:05:11
  • c#利用Excel直接读取数据到DataGridView

    2023-02-22 13:39:07
  • Android实现简单画中画功能

    2022-07-18 04:51:25
  • C#生成PDF文件流

    2023-03-19 08:52:56
  • Java Spring的refresh方法你知道吗

    2023-07-08 11:53:18
  • mybatis-plus生成mapper扩展文件的方法

    2023-08-10 07:29:05
  • C# string格式的日期时间字符串转为DateTime类型的方法

    2022-04-07 09:34:30
  • C#使用CallContext缓存线程数据

    2022-03-27 17:45:55
  • android开发教程之android的handler使用方法

    2022-04-29 08:25:43
  • Android系列---JSON数据解析的实例

    2022-07-04 19:52:50
  • C#通过属性名字符串获取、设置对象属性值操作示例

    2022-01-06 14:28:08
  • Android中Matrix用法实例分析

    2023-07-07 18:40:22
  • Android开发中Activity的生命周期及加载模式详解

    2021-07-28 02:33:44
  • Android控件PopupWindow模仿ios底部弹窗

    2023-03-09 20:42:10
  • Jetpack Compose图片组件使用实例详细讲解

    2021-06-09 08:15:24
  • Springboot+Mybatis-plus不使用SQL语句进行多表添加操作及问题小结

    2021-09-30 10:31:10
  • asp之家 软件编程 m.aspxhome.com