如何洞察 C# 中 GC 的变化

一:背景

在洞察 GC 方面,我觉得市面上没有任何一款工具可以和 PerfView 相提并论,这也是为什么我会在 WinDbg 之外还要学习这么一款工具的原因,这篇我们先简单聊聊 PerfView 到底能洞察 GC 什么东西?

二:洞察 GC

1. 到底都能看到 GC 什么?

能获取到的 GC 信息非常多,比如:

  1. 程序运行期间 GC 触发了多少次?

  2. GC 最大一次暂停耗费了多久?

  3. 每一次 GC 触发的原因是什么?

  4. GC 暂停 >200ms 的都有哪些?

  5. GC 触发 3 阶段中各个函数的耗时是怎样的?

等等。。。 可获取的信息非常多,后面的文章会逐一聊。

2. 获取 GC 的一般性信息

为了方面讲述,先上一段故意无限次拼接 string 的代码,让 GC 高频触发。


    internal class Program
    {
        static void Main(string[] args)
        {
            Task.Run(Alloc1);

            Console.ReadLine();
        }

        static void Alloc1()
        {
            v
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值