对 C# 下的 SDK 类库进行监控(大结局)

1. ArrayPool 监控

之所以对 ArrayPool 感兴趣,主要还是因为在分析 Dump 的过程中,遇到过几起 LOH 碎片化问题,比如使用第三方模板生成引擎生成 Html 导致大量临时性 char[]byte[],终导致 LOH 破败不堪,所以最后给出的建议是使用这种池化的 ArrayPool,如果可以监控池的租借情况,那是不是挺好的? 哈哈,还真有这样的 ETW,截图如下:

为了方便讲解,先上一段简单的测试代码:


    internal class Program
    {
        static void Main(string[] args)
        {
            var shared = ArrayPool<int>.Shared;

            var rentedArray = shared.Rent(10);

            for (int i = 0; i < 10

猜你喜欢

转载自blog.csdn.net/shengyin714959/article/details/143445313