首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏newbe36524的技术专栏

    字符串池化,减少了三分之一的内存占用

    每个商品都有一个 ProductId 和 Color 列保存在数据库中 需要将所有的数据加载到内存中,作为缓存使用 每个产品都有 Color Color 的范围是一个有限的范围,我们假设大约为八十个左右 学习 dotMemory 本篇,我们介绍 Rider + dotMemory 的组合,如何进行简单的内存度量。读者也可以根据自己的实际,选择自己青睐的工具。 (); var dict = HelperTest.CreateDict(); GC.Collect(); dotMemory.Check(memory 最后,点击如下图所示的按钮,运行这个测试: run dotMemory 那么,就会到的如下这样的结果: result 故而,我们可以得出这样一个简单的结论。 我们使得字典中的 Color 全部来自 Color List 于是,我们再次运行 dotMemory 进行度量,结果非常的 Amazing: 61.69 MB 虽说,最终这个数字的开销对比,第一个版本略有上升

    66800发布于 2021-09-12
  • 来自专栏csico

    字符串池化,减少了三分之一的内存占用

    每个商品都有一个 ProductId 和 Color 列保存在数据库中 需要将所有的数据加载到内存中,作为缓存使用 每个产品都有 Color Color 的范围是一个有限的范围,我们假设大约为八十个左右 学习 dotMemory 本篇,我们介绍 Rider + dotMemory 的组合,如何进行简单的内存度量。读者也可以根据自己的实际,选择自己青睐的工具。 net-5.0&WT.mc_id=DX-MVP-5003606#System_Collections_Generic_Dictionary_2__ctor_System_Int32_ 然后,我们引入 dotMemory ();         var dict = HelperTest.CreateDict();         GC.Collect();         dotMemory.Check(memory  最后,点击如下图所示的按钮,运行这个测试: run dotMemory 那么,就会到的如下这样的结果: result 故而,我们可以得出这样一个简单的结论。

    58030发布于 2021-09-13
  • 来自专栏newbe36524的技术专栏

    字符串池化,减少了三分之一的内存占用

    每个商品都有一个 ProductId 和 Color 列保存在数据库中 需要将所有的数据加载到内存中,作为缓存使用 每个产品都有 Color Color 的范围是一个有限的范围,我们假设大约为八十个左右 学习 dotMemory 本篇,我们介绍 Rider + dotMemory 的组合,如何进行简单的内存度量。读者也可以根据自己的实际,选择自己青睐的工具。 net-5.0&WT.mc_id=DT-MVP-5004283#System_Collections_Generic_Dictionary_2__ctor_System_Int32_ 然后,我们引入 dotMemory (); var dict = HelperTest.CreateDict(); GC.Collect(); dotMemory.Check(memory 我们使得字典中的 Color 全部来自 Color List 于是,我们再次运行 dotMemory 进行度量,结果非常的 Amazing: 61.69 MB 虽说,最终这个数字的开销对比,第一个版本略有上升

    53140编辑于 2023-08-23
  • 来自专栏DotNet NB && CloudNative

    C#内存泄漏的7大陷阱:如何避免半夜3点的崩溃噩梦?

    使用dotMemory或Visual Studio诊断工具。如果MyWindow在应该被销毁后仍然存在,跟踪引用路径。通常会发现它被挂在按钮的Click委托上。 打开dotMemory或使用Visual Studio的内存图。搜索静态类名(AppCache)并追踪其保留的对象。 查看dotMemory的LOH(大对象堆)部分。 ➡️ 如果看到像byte[]这样的大数组长期驻留内存,很可能是因为File.ReadAllBytes。 在dotMemory中,查找持有外部作用域变量引用的System.Action委托。 ➡️ 循环内的Lambda通常会保留父方法的栈帧——检查循环变量是否在保持内存存活。 使用dotMemory、PerfView和内置的Visual Studio诊断工具等工具实时捕获泄漏、分析堆使用情况并精确定位内存压力。 点击下方卡片关注DotNet NB

    53710编辑于 2025-08-11
  • 来自专栏DotNet NB && CloudNative

    内存泄漏之谜:一个Lambda如何拖垮了我们的Kubernetes服务

    DotMemory快照:我们发现了什么? 我们在负载测试期间使用dotMemory捕获了内存快照。

    24600编辑于 2025-08-06
  • 来自专栏token的技术分享

    内存优化:Boxing

    dotMemory 如今,许多开发人员都熟悉性能分析的工作流程:在分析器下运行应用程序,测量方法的执行时间,识别占用时间较多的方法,并致力于优化它们。 我们在 JetBrains 使用的工具列表非常简短: dotMemory 内存分析器。无论您试图查找什么问题,分析算法始终相同: 在启用内存流量收集的情况下开始分析您的应用程序。 字节的开销,而一个int类型本身只占用4字节,其次,栈内存的由执行线程方法栈管理,方法内声明的local变量、字面量更是能够在IL编译期就预算出栈容量,效率远高于运行时堆内存GC体系 如何发现 使用 dotMemory 考虑到这一点,dotMemory 在检测闭包是否引起真正问题方面要可靠得多。 如何修复 在解决装箱问题之前,请确保它确实会产生大量流量。如果是这样,你的任务就很明确:重写代码以消除装箱。 如何发现 使用 dotMemory 比对两个快照 打开View memory allocations视图 找到产生大内存流量的集合类型 看看是否与 Dictionary<>.Resize、 List<>

    57310编辑于 2024-06-07
  • 来自专栏猛牛哥的博客

    一键搭建JetBrains系列软件激活服务器

    本方法搭建的激活服务器同时支持以下软件: AppCode CLion DataGrip dotCover dotMemory dotTrace IntelliJ IDEA GoLand PhpStorm

    6.6K20发布于 2018-06-04
  • 来自专栏林德熙的博客

    dotnet 6 在 Win7 系统证书链错误导致 HttpWebRequest 内存泄露

    为了确定是哪个方式导致的 OOM 了,可以先使用排除的方式,如果是某个业务申请大量的内存导致内存泄露,这是非常好也非常方便调试出来的,只需要使用 dotMemory 工具分析一下即可 在开始使用 dotMemory 依然是使用 ProcDump 工具抓取 DUMP 文件,然后通过 dotMemory 的导入 DUMP 功能,以及对比内存功能,进行分析 如果要是 dotMemory 可以符合预期的让我看到业务模块上有哪些对象没有被释放 通过 dotMemory 抓取可以看到不同的时间点上,没有任何业务代码的对象泄露。 而用 dotMemory 也无法给我带来更多的帮助,用 dotMemory 最预期的能拿到的信息就是业务端有某些对象被泄露,可惜没有找到任何业务端的对象泄露。 不会有的,放心吧,在调试内存泄露方面,使用 VisualStudio 和 dotMemory 的能力是完全相同的,只是 VisualStudio 的交互做的太过垃圾,完全不如 dotMemory 的交互形式

    1.5K20编辑于 2022-08-12
  • 来自专栏Idea激活码

    2023CLion最新激活码教程

    注:账号/激活码信息支持以下IDE需求IntelliJ IDEA、PyCharm、GoLand、WebStorm、PhpStorm、DataGri、DataSpell、dotCover、dotMemory

    11.4K40编辑于 2022-12-22
  • C#内存泄漏的成因、检测与预防策略

    针对这些潜在问题,开发者可以通过使用Visual Studio内存分析器或JetBrains dotMemory等工具进行检测,并采取相应的预防措施。 (差异)"或"堆大小(差异)"列查看内存增长情况追踪对象引用链:右键点击可疑对象,在"根的路径"树中查看保留该对象的引用路径定位泄漏源:根据引用路径分析结果,回到代码中检查相关对象的引用关系和释放逻辑dotMemory 使用using语句管理IDisposable对象实现IDisposable接口处理非托管资源使用弱引用管理缓存和事件订阅避免静态变量持有对象引用测试阶段:使用内存分析工具(Visual Studio或dotMemory 开发者可以通过使用Visual Studio内存分析器或dotMemory等工具进行检测,并采取正确使用using语句、实现IDisposable接口、使用弱引用等预防措施。

    1.3K10编辑于 2025-05-16
  • 来自专栏DotNet NB && CloudNative

    .net 奇葩问题调试经历之3——使用了grpc通讯类库后,内存一直增长......

    在.NET 生态系统中,有诸如 dotMemory 和 CLR Profiler 等强大的内存分析工具可供选用。我们最终选择了 dotMemory 进行内存分析。 通过 dotMemory 的可视化界面,查看内存中的对象分布状况,试图找出那些占用大量内存的对象类型。 一些与 gRPC 通信相关的对象在内存中数量众多,且随着时间不断增多。 dotMemory 具备对象引用关系分析功能,通过该功能,我们查看了这些 gRPC 相关对象的引用链,试图找出阻止它们被垃圾回收(GC)的原因。 经过深入分析,我们发现一些对象之间存在循环引用的情况。

    46600编辑于 2025-04-13
  • 来自专栏DotNet NB && CloudNative

    优化C#服务器的思路和工具的使用

    还有一种采集, 就是内存快照, 可以通过dotMemory来搞, 直接用VS获取内存快照最后会发现看不清楚. dotMemory在这方面做得不错. 内存快照 dotMemory这个工具在获取内存快照这方面做得非常好, Windows和Linux下均可以使用, 其中Linux是命令行程序获取数据, 然后Windows客户端可以打开结果分析. 之前在跑机器人战斗的时候, 发现内存占用越来越大, 然后通过dotMemory获取快照, 发现LuaEnv占用内存非常多, 然后找到某一个LuaEnv, 详细的查看其内存占用.

    46030编辑于 2023-10-28
  • 来自专栏全栈工程师修炼之路

    JetBrains各类开发编辑器了解与安装

    包括的产品有 AppCode / CLion / DataGrip / dotCover / dotMemory / dotTrace / GoLand / IntelliJ IDEA Ultimate

    1.2K30编辑于 2022-09-28
  • 来自专栏DotNet NB && CloudNative

    阻止泄漏!如何防止 .NET 应用程序中的内存泄漏

    性能分析工具:使用像dotMemory、Visual Studio诊断工具或者JetBrains Rider这类工具来识别发生泄漏的对象。 ️ { cache[i]=$"Value {i}"; } // 修复方法: cache.Clear();// 移除不必要的项目 控制内存泄漏的工具 以下是一些用于监控和调试内存泄漏的工具: dotMemory

    2.2K00编辑于 2025-03-11
  • 来自专栏DotNet NB && CloudNative

    C#内存泄漏全解析:从根因到解决方案

    内存分析利器 推荐工具: • JetBrains dotMemory • ANTS Memory Profiler • Visual Studio诊断工具 VS内存分析步骤: 1.

    58010编辑于 2025-05-06
  • 来自专栏InCerry

    .NET周报【12月第1期 2022-12-08】

    C#特性 网站开发更新 游戏开发更新 NuGet 支持 中央软件包管理和漏洞版本检测 对 ARM64 支持的早期预览 支持在 ARM 平台的 Windows 和 Linux 上运行 其他亮点 内置 dotMemory 反编译器的更新和 GraphML 格式的类型和项目依赖关系图的导入/导出 dotCover, dotMemory, dotPeek, and dotTrace 2022.3 发布! | The .NET Tools Blog https://blog.jetbrains.com/dotnet/2022/12/07/dotcover-dotmemory-dotpeek-dottrace -2022-3/ dotCover, dotMemory, dotPeek 和 dotTrace 2022.3 已经发布。 dotCover:增加了对 ARM64 上的 Windows 和 ARM32 上的 Linux 运行时的支持 dotMemory: 现在可以在 Linux 和 macOS Rider 上使用,并支持 ARM64

    5.8K20编辑于 2023-03-08
  • 来自专栏DotNet NB && CloudNative

    十年技术老炮实测:.NET 6到9性能狂飙史,代码为证

    ,每次测试前清空环境 工具链 • BenchmarkDotNet(专业开发者首选基准测试工具) • Visual Studio 2022与2025预览版 • PerfView(内存与CPU分析) • DotMemory

    65610编辑于 2025-08-12
  • 来自专栏InCerry

    .NET周刊【8月第1期 2023-08-06】

    【英文】dotCover、dotMemory、dotPeek 和 dotTrace 2023.2 发布! | JetBrains 博客 https://blog.jetbrains.com/dotnet/2023/08/02/2023-2-dottools-release/ dotCover、dotMemory 、dotPeek、dotTrace、dotMemory 2023.2 Rider 中的快照分析 dotTrace * 采样、跟踪、按线程分组的逐行快照 * Linux 和 macOS 上的源代码查看工具窗口

    2.2K10编辑于 2023-08-31
  • 来自专栏walterlv - 吕毅的博客

    .NET 三个字母究竟应该如何大小写?前面的 “.” 什么时候能够去掉?(.NET Standard / dotnet-core / net472)

    win/android/ios/osx 这样的名称保持统一) .NET 作为产品或机构名称的一部分 JetBrains 家的 .NET 团队很喜欢用 dot 作为软件名称的前缀,例如 dotCover、dotMemory

    1K10发布于 2018-09-18
  • 来自专栏Idea激活码

    2023DataSpell最新激活码_DataSpell使用教程

    注:账号/激活码信息支持以下IDE需求IntelliJ IDEA、PyCharm、GoLand、WebStorm、PhpStorm、DataGri、DataSpell、dotCover、dotMemory

    3.5K10编辑于 2022-12-25
领券