windows查看进程内存使用记录

当写完一个工程,我们往往都会需要去check一下该工程存不存在内存泄露问题。

如果有内存泄露问题的话,那么若程序的主循环次数越多,数据越大,则内存问题会越明显。


一般有两种方案来check这个问题:

1. 在工程中,写代码调用内存相关接口

2. 利用第三方软件查看该工程所建进程的内存使用记录,通过查看峰值是不是随着

执行时间的增加而增加,从而来判断该工程是否存在内存泄露问题(当然要给大数据,我这里指的大数据是指能够引起工程内存消耗更大的数据)。


由于我只是想粗略的check下该工程是不是有内存泄露情况,所以我选择了

windows自带的工具C:\Windows\System32\perfmon.exe 这是win7路径

1.双击“性能监视器”


2. 在绘制区域右击点击“添加计数器”


3. 选择“Process”中的“working Set”

and then

4.在“选定对象的实例”中选择自己要观察的进程“XXX”



5.点击“添加”,然后确定



6.右击选择“属性”,设置显示比例以及持续时间



7.效果图如下所示,最后一条线是绘制线可以忽略







### 查看Windows历史内存使用记录的方法 在Windows系统中,查看历史内存使用记录可以通过多种工具和方法实现。以下是一些常用的技术和工具,结合了提供的引用内容和其他专业知识。 #### 使用性能监视器(Performance Monitor)跟踪内存使用情况 性能监视器是Windows内置的一个强大工具,可以用来监控和记录系统的性能数据,包括内存使用情况。通过配置性能监视器的日志记录功能,可以保存历史数据以便后续分析[^2]。 1. **打开性能监视器** 在Windows搜索栏中输入“性能监视器”并打开它。性能监视器位于“性能信息和工具”或“资源监视器”中。 2. **添加计数器** 在性能监视器的主界面中,右键单击图表区域,选择“添加计数器”。在弹出的对话框中,选择“Memory”对象,并添加以下关键计数器: - `Available MBytes`:显示可用的物理内存量。 - `Page Faults/sec`:每秒发生的页面错误数量。 - `Pages/sec`:每秒从磁盘读取或写入到磁盘的页面数。 - `Working Set`:进程的工作集大小,表示操作系统程序分配的实际内存。 3. **配置数据收集器集** 为了记录历史数据,可以创建一个数据收集器集。在性能监视器中,点击左侧的“数据收集器集”,然后右键选择“用户定义”下的“新建”。选择“创建手动数据收集器集”,为其命名并添加上述计数器。配置日志文件格式(如CSV或BLG),并设置采样间隔和日志持续时间[^4]。 4. **分析历史数据** 数据收集完成后,可以在性能监视器中加载日志文件进行分析。这有助于了解系统内存使用的趋势和峰值。 #### 使用任务管理器查看内存使用情况 虽然任务管理器无法直接记录历史数据,但它可以提供实时的内存使用情况。通过切换视图和列,可以查看每个进程内存占用情况[^3]。 ```python # 使用Tasklist命令查看当前运行的进程和服务 TaskList /svc ``` #### 使用第三方工具 如果需要更详细的内存分析和历史记录,可以考虑使用第三方工具,例如: - **Process Explorer**:由Sysinternals提供,支持查看进程的详细内存使用情况,并能生成报告。 - **RAMMap**:同样来自Sysinternals,专注于内存映射和使用情况的深入分析。 - **VisualVM**:适用于Java应用程序内存分析工具,能够生成内存快照并对比不同时间点的内存使用情况[^5]。 #### 示例代码:使用PowerShell记录内存使用情况 以下是一个简单的PowerShell脚本,用于定期记录内存使用情况并保存到CSV文件中。 ```powershell # 定义日志文件路径 $logFile = "C:\memory_usage_log.csv" # 获取内存使用情况并追加到日志文件 while ($true) { $memoryInfo = Get-WmiObject -Class Win32_OperatingSystem | Select-Object @{Name="AvailableMemoryMB";Expression={$_.FreePhysicalMemory / 1KB}},@{Name="TotalMemoryMB";Expression={$_.TotalVisibleMemorySize / 1KB}}, LocalDateTime $memoryInfo | Export-Csv -Path $logFile -Append -NoTypeInformation Start-Sleep -Seconds 60 # 每隔60秒记录一次 } ``` ###
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI记忆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值