当前位置:  编程技术>.net/c#/asp.net

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

    来源: 互联网  发布时间:2014-10-30

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

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

代码如下:

///
/// Timer组件tmrMonitor的Tick事件
///
///
///
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#取得Web程序和非Web程序的根目录的N种取法总结
  • 深入C#任务管理器中应用程序选项隐藏程序本身的方法详解
  • C# 获取(非)Web程序根目录的可用方法
  • C# 获取程序集版本、文件版本
  • C# WinForm程序完全退出的问题解决
  • C#会让我们这些java程序员下岗吗?
  • 设置C#窗体程序只能启动一次
  • 解读在C#中winform程序响应键盘事件的详解
  • C#程序打成 一键安装包-InstallShield教程
  • 使用C# Winform应用程序获取网页源文件的解决方法
  • c# 命名空间和程序集
  • C#访问应用程序配置文件的方法
  • 将ocx文件转换成C#程序引用的DLL文件的办法
  • C#判断某程序是否运行的方法
  • C#窗体程序仅允许启动一次的解决方法
  • c# 命名空间与程序集的相关概念
  • 将c#编写的程序打包成应用程序的实现步骤分享(安装,卸载) 图文
  • C#程序自动以管理员方式运行的实现方法
  • c#使用process.start启动程序报错解决方法
  • C#中使用IrisSkin2.dll美化WinForm程序界面的方法
  • 使用libpcap实现抓包程序的步骤及代码示例
  • linux下运行libnids那个自带的示例程序printall,有点问题
  • 新手求anjuta开发的程序示例
  • php计算当前程序执行时间示例
  • android获取当前手机号示例程序
  • 谁有《linux设备驱动程序》书的示例代码,发给我好么?
  • Android获取apk程序签名信息代码示例
  • wince禁止程序标题栏上的退出按钮示例
  • ★ ★ ★ 谁能提供一个打印文件内容的程序示例让我看看(参与有分!!!)
  • 使用BeautifulSoup爬虫程序获取百度搜索结果的标题和url示例
  • python读写文件操作示例程序
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • c/c++服务器程序内存泄露问题分析及解决
  • 请教!Linux系统C开发的程序,为什么我的程序运行时内存持续增长,程序退出后内存也没有降低?
  • C++程序的内存不同的数据段及堆栈布局
  • 程序需要共享内存相当大,但是系统的内存有限
  • 遇到奇怪的内存泄露问题,应用程序杀死内存无法释放!
  • 常驻内存程序就是后台程序吗?
  • 程序运行20分钟狂泻1G内存,当系统只剩5、6M内存时程序依然运行稳定(未使用交换分区),点解?
  • Linux下的程序是在内存中运行的吗?为什么在程序运行的时候可以删除程序文件?
  • CGI程序无法访问本机某个程序创建的共享内存〔求教〕
  • 在Linux上用C语言作了一个程序,程序中申请(malloc)了很大的内存,但是没free,当程序运行结束后,内存是否自动释放?
  • 请问能否在linux实现一个应用程序访问另外一个程序的内存数据?
  • arm程序内存占用问题
  • 请教多线程程序的内存占用问题
  • 程序占用很大的内存
  • 请教,在linux下如何判断程序的内存泄露?
  • 定时top看系统参数,发现我的程序的SIZE项和RES项的数值一直在增加,这是不是说明,我的程序有内存泄漏?
  • 在驱动程序里,用数组,或malloc是申请到虚拟内存吧?
  • 请问在SOLARIS上怎么实时查看程序的内存使用状况??
  • 驱动程序中关于内存的读写问题
  • 求助!怎样实现一个程序长期固定的在一块物理内存
  • 程序在不同的平台占用内存不一样
  • 重装服务器后IIS网站错误(应用程序中的服务器错误)
  • 为什么我在java程序里启动的一个程序在java程序关闭后,该程序的所有进程都关掉了
  • windows server2008上PowerBuilder程序系统错误解决方法
  • Linux 编程怎么样在程序开启一个程序,和关闭一个程序?
  • c语言判断某一年是否为闰年的各种实现程序代码
  • 请问从一个java程序中如何调用另一java程序,并控制可以其状态(最小化、最大化、结束程序),还有怎样知道那个被调用的程序结束。
  • 程序员的八种级别,你属于哪一级?
  • 我的程序是用c写的gtk+程序,有个函数的参数要传给它图片的文件名,但是图片和原程序不在同一目录下怎么办?怎么在程序里指定文件的路径
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • 为什么linux下的C++程序这么少见? 请问那里有linux下的C++程序?什么类型的程序都可以.


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3