小鱼塘

  • 小玩意
  • 小想法
记录自己技术和想法地方
  1. 首页
  2. c#
  3. 正文

c# 排查cpu高的函数和内存高的对象

8月 31, 2021 218点热度 0人点赞 0条评论
内容纲要

一,背景

最近自己对c# 写的程序进行优化,我首先看代码,分析哪些代码是有问题,这种方式最枯燥,效率也不高,很难发现代码有问题。于是我发现c# 调试会有一个诊断工具,我们可以对内存快照和cpu使用率进行记录

二,逻辑

这种分析通过内存对象引用对象和占内存大小,进行分析,内存分析比较麻烦,必须自己对程序有比较多理解,结合逻辑分析。

CPU分析比较简单,通过时间段分析,哪些占用CPU比较高,然后对应分析就能很快分析出来。

三,例子

待补充,等以后专门记录分析。暂时记录一下,一个知识点记录。

自己也有别的内存泄漏分析工具,但实际效果不是那么好,虽然有一些帮助,这类解决分析,还是看应用和调用过程,如果引用的数目过高,如果不符合自己预期,基本就是有泄漏了。我觉得c#内存泄漏反而不是那么好排查,如果c++ 可能好一点,因为c#有GC,什么时候被释放这个是底层来实现的。c++ 我直接delete,我只要记录哪些是New的对象,然后过一段时间后,然后去检测没有被释放对象有哪些,再根据代码就比较容易找出来。

标签: c# cpu占比高 内存泄漏
最后更新:8月 31, 2021

小鱼儿

爱研究技术,爱玩LOL

点赞
< 上一篇
下一篇 >

COPYRIGHT © 2022 小鱼塘. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

湘ICP备18005349号