会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
7
8
9
10
11
12
13
14
15
···
46
下一页
2023年9月22日
记一次 .NET 某仪器测量系统 CPU爆高分析
摘要: 一:背景 1. 讲故事 最近也挺奇怪,看到了两起 CPU 爆高的案例,且诱因也是一致的,觉得有一些代表性,合并分享出来帮助大家来避坑吧,闲话不多说,直接上 windbg 分析。 二:WinDbg 分析 1. CPU 真的爆高吗 这里要提醒一下,别人说爆高不一定真的就是爆高,我们一定要拿数据说话,可以
阅读全文
posted @ 2023-09-22 12:58 一线码农
阅读(1324)
评论(2)
推荐(7)
2023年9月21日
记一次 .NET 某餐饮小程序 内存暴涨分析
摘要: 一:背景 1. 讲故事 前些天有位朋友找到我,说他的程序内存异常高,用 vs诊断工具 加载时间又太久,让我帮忙看一下到底咋回事,截图如下: 确实,如果dump文件超过 10G 之后,市面上那些可视化工具分析起来会让你崩溃的,除了时间久之外这些工具大多也不是用懒加载的方式,比如 dotmemory 会
阅读全文
posted @ 2023-09-21 10:46 一线码农
阅读(2921)
评论(25)
推荐(22)
2023年9月18日
记一次 .NET 某电力系统 内存暴涨分析
摘要: 一:背景 1. 讲故事 前些天有位朋友找到我,说他生产上的程序有内存暴涨情况,让我帮忙看下怎么回事,最简单粗暴的方法就是让朋友在内存暴涨的时候抓一个dump下来,看一看大概就知道咋回事了。 二:Windbg 分析 1. 到底是谁吃了内存 这个问题说的再多也不为过,一定要看清楚这个程序是如何个性化发展
阅读全文
posted @ 2023-09-18 10:30 一线码农
阅读(5239)
评论(14)
推荐(27)
2023年8月25日
Windows 虚拟地址 到底是如何映射到 物理地址 的?
摘要: ## 一:背景 ### 1. 讲故事 我发现有很多的 .NET程序员 写了很多年的代码都没弄清楚什么是 `虚拟地址`,更不用谈什么是 `物理地址` 以及Windows是如何实现地址映射的了?这一篇我们就来聊一聊这两者之间的联系。 ## 二:地址映射研究 ### 1. 找虚拟地址 怎么去找 `虚拟地址
阅读全文
posted @ 2023-08-25 10:49 一线码农
阅读(1711)
评论(3)
推荐(12)
2023年8月24日
一个超经典 WinForm 卡死问题的最后一次反思
摘要: ## 一:背景 ### 1. 讲故事 在我分析的 200+ dump 中,同样会遵循着 28原则,总有那些经典问题总是反复的出现,有很多的朋友就是看了这篇 [一个超经典 WinForm 卡死问题的再反思](https://www.cnblogs.com/huangxincheng/p/1686848
阅读全文
posted @ 2023-08-24 16:05 一线码农
阅读(5075)
评论(10)
推荐(23)
2023年8月8日
记一次 .NET某报关系统 非托管泄露分析
摘要: ## 一:背景 ### 1. 讲故事 前段时间有位朋友找到我,说他的程序内存会出现暴涨,让我看下是怎么事情?而且还告诉我是在 Linux 环境下,说实话在Linux上分析.NET程序难度会很大,难度大的原因在于Linux上的各种开源工具主要是针对 C/C++, 和 .NET 一毛钱关系都没有,说到底
阅读全文
posted @ 2023-08-08 15:18 一线码农
阅读(2364)
评论(4)
推荐(5)
2023年8月3日
记一次 .NET某培训学校系统 内存碎片化分析
摘要: ## 一:背景 ### 1. 讲故事 前些天有位朋友微信上找到我,说他们学校的Web系统内存一直下不去,让我看下到底是怎么回事,老规矩让朋友生成一个dump文件丢给我,看一下便知。 ## 二:WinDbg 分析 ### 1. 托管还是非托管 要想看托管还是非托管,可以用 `!address -sum
阅读全文
posted @ 2023-08-03 10:26 一线码农
阅读(3379)
评论(12)
推荐(10)
2023年7月31日
记一次 .NET 某物流API系统 CPU爆高分析
摘要: ## 一:背景 ### 1. 讲故事 前段时间有位朋友找到我,说他程序CPU直接被打满了,让我帮忙看下怎么回事,截图如下: 
评论(3)
推荐(10)
2023年7月25日
.NET程序的 GDI句柄泄露 的再反思
摘要: ## 一:背景 ### 1. 讲故事 上个月我写过一篇 [如何洞察 C# 程序的 GDI 句柄泄露](https://www.cnblogs.com/huangxincheng/p/17474733.html) 文章,当时用的是 GDIView + WinDbg 把问题搞定,前者用来定位泄露资源,后
阅读全文
posted @ 2023-07-25 10:41 一线码农
阅读(2264)
评论(1)
推荐(4)
2023年7月24日
PerfView专题 (第十六篇): 如何洞察C#托管堆内存的 "黑洞现象"
摘要: ## 一:背景 ### 1. 讲故事 首先声明的是这个 `黑洞` 是我定义的术语,它是用来表示 `内存吞噬` 的一种现象,何为 `内存吞噬`,我们来看一张图。 
评论(1)
推荐(5)
2023年7月21日
PerfView专题 (第十五篇): 如何洞察 C# 中的慢速方法
摘要: ## 一:背景 ### 1. 讲故事 在 dump 分析旅程中,经常会遇到很多朋友反馈一类问题,比如: * 方法平时都执行的特别快,但有时候会特别慢,怎么排查? * 我的方法第一次执行特别慢,能看到慢在哪里吗? 相信有朋友肯定说,加些日志不就好了,大方向肯定是没问题的,但加日志的颗粒度会比较粗而且侵
阅读全文
posted @ 2023-07-21 13:00 一线码农
阅读(1923)
评论(0)
推荐(12)
2023年7月19日
PerfView专题 (第十四篇): 洞察那些 C# 代码中的短命线程
摘要: ## 一:背景 ### 1. 讲故事 这篇文章源自于分析一些疑难dump的思考而产生的灵感,在dump分析中经常要寻找的一个答案就是如何找到死亡线程的生前都做了一些什么?参考如下输出: ``` C# 0:001> !t ThreadCount: 22 UnstartedThread: 0 Backg
阅读全文
posted @ 2023-07-19 09:10 一线码农
阅读(721)
评论(0)
推荐(5)
2023年7月18日
用 perfcollect 洞察 Linux 上.NET程序 CPU爆高
摘要: ## 一:背景 ### 1. 讲故事 如果要分析 Linux上的 .NET程序 CPU 爆高,按以往的个性我肯定是抓个 dump 下来做事后分析,这种分析模式虽然不重但也不轻,还需要一定的底层知识,那有没有傻瓜式的 CPU 爆高分析方式呢? 相信有很多朋友知道 **B站713事件**,最终就是用 p
阅读全文
posted @ 2023-07-18 09:45 一线码农
阅读(1154)
评论(2)
推荐(7)
2023年7月17日
PerfView专题 (第十三篇):洞察 .NET程序 的非托管句柄泄露
摘要: ## 一:背景 ### 1. 讲故事 前几天写了一篇 `如何洞察 .NET程序 非托管句柄泄露` 的文章,文中使用 WinDbg 的 `!htrace` 命令实现了句柄泄露的洞察,在文末我也说了,WinDbg 是以侵入式的方式解决了这个问题,在生产环境中大多数情况下是不能走附加进程的模式,所以这也是
阅读全文
posted @ 2023-07-17 10:43 一线码农
阅读(817)
评论(0)
推荐(5)
2023年7月13日
记一次 .NET 某游戏服务后端 内存暴涨分析
摘要: ## 一:背景 ### 1. 讲故事 前几天有位朋友找到我,说他们公司的后端服务内存暴涨,而且CPU的一个核也被打满,让我帮忙看下怎么回事,一般来说内存暴涨的问题都比较好解决,就让朋友抓一个 dump 丢过来,接下来我们用 WinDbg 一探究竟。 ## 二:WinDbg 分析 ### 1. 到底是
阅读全文
posted @ 2023-07-13 13:06 一线码农
阅读(1675)
评论(6)
推荐(10)
上一页
1
···
7
8
9
10
11
12
13
14
15
···
46
下一页
公告