← Back
Memory

生产环境内存泄漏定位:从 RSS 飙升到源码行号的分层归因

  • 症状:只升不降的内存曲线
  • 内存泄漏还是内存占用高?
  • 四类泄漏模式的真实根因链
  • 看起来在涨,其实不是泄漏
  • 如何定位泄漏:自顶向下的分层归因
  • 传统工具为什么在生产环境里不够用
  • 常见问题
  • 症状:只升不降的内存曲线
  • 内存泄漏还是内存占用高?
  • 四类泄漏模式的真实根因链
  • 看起来在涨,其实不是泄漏
  • 如何定位泄漏:自顶向下的分层归因
  • 传统工具为什么在生产环境里不够用
  • 常见问题

一次无法重启的 Nginx 内存泄漏,我们是如何在生产环境把它抓出来的

  • 一次生产环境内存泄漏的完整解剖
  • 为什么这类问题几乎无解?
  • 从“靠运气”到“可预测”
  • 当性能问题超越“工具”范畴”
  • 一次生产环境内存泄漏的完整解剖
  • 为什么这类问题几乎无解?
  • 从“靠运气”到“可预测”
  • 当性能问题超越“工具”范畴”

修复 OpenResty 中 LuaJIT RSS 内存泄漏:无需重启即可消除 OOM Kill

  • 什么是 LuaJIT「伪内存泄漏」?
  • 用真实生产数据诊断问题
  • 为什么常规修复手段无效
  • LuaJIT-plus 如何在分配器层面解决
  • 上线后的生产收益
  • 什么是 LuaJIT「伪内存泄漏」?
  • 用真实生产数据诊断问题
  • 为什么常规修复手段无效
  • LuaJIT-plus 如何在分配器层面解决
  • 上线后的生产收益

如何在生产环境中定位 Java 内存泄漏——无需堆转储、无需重启

  • 为什么多次 Full GC 后堆内存仍未回落
  • 如何在不导出堆转储的情况下定位生产环境的 Java 内存泄漏
  • 如何定位 Java 内存泄漏:一套可复用的三步法
  • 为什么用 OpenResty XRay 定位 Java 内存泄漏
  • 常见问题
  • 为什么多次 Full GC 后堆内存仍未回落
  • 如何在不导出堆转储的情况下定位生产环境的 Java 内存泄漏
  • 如何定位 Java 内存泄漏:一套可复用的三步法
  • 为什么用 OpenResty XRay 定位 Java 内存泄漏
  • 常见问题

从崩溃到根因:OpenResty XRay 如何将 Nginx 内存踩踏问题分析得明明白白

  • 案例背景:日志无法解释的 Nginx worker 进程频繁崩溃
  • 分析录制文件:把崩溃过程回放回“第一现场”
  • 根因:Nginx 连接生命周期中的 Use-After-Free
  • 常见问题(FAQ)
  • 案例背景:日志无法解释的 Nginx worker 进程频繁崩溃
  • 分析录制文件:把崩溃过程回放回“第一现场”
  • 根因:Nginx 连接生命周期中的 Use-After-Free
  • 常见问题(FAQ)

追踪 OpenResty 中 LRU 缓存引发的内存泄漏 —— 根因竟是缓存的 SSL 证书

  • 为什么一个低流量的 OpenResty 应用会持续泄漏内存
  • 一步步追踪 LRU 缓存内存泄漏的完整过程
  • 最终结果:从无限增长到内存平稳
  • 为什么一个低流量的 OpenResty 应用会持续泄漏内存
  • 一步步追踪 LRU 缓存内存泄漏的完整过程
  • 最终结果:从无限增长到内存平稳

Java 应用性能剖析:CPU、Off-CPU 与磁盘 I/O 分析(无 Safepoint 偏差)

  • 用火焰图剖析 Java CPU 热点
  • Off-CPU Java 性能分析:锁等待与阻塞诊断
  • Java 磁盘 I/O 剖析:追踪文件与套接字写入
  • 支持 OpenJDK 8/11/17/21 应用剖析
  • 自动化采样与专家分析
  • 性能影响与开销
  • 常见问题
Photo by 章亦春
  • 用火焰图剖析 Java CPU 热点
  • Off-CPU Java 性能分析:锁等待与阻塞诊断
  • Java 磁盘 I/O 剖析:追踪文件与套接字写入
  • 支持 OpenJDK 8/11/17/21 应用剖析
  • 自动化采样与专家分析
  • 性能影响与开销
  • 常见问题

PHP 内存分析器:定位线上 PHP 进程中最大的内存对象

  • 现象: PHP 进程在 top 中占用大量内存
  • 用 OpenResty XRay 引导式分析剖析进程,找出最大的 PHP 对象
  • 把最大的对象追溯到它的源码行
  • 用 Insights 报告自动监控 PHP 进程内存
  • 常见问题
  • 关于 OpenResty XRay
  • 现象: PHP 进程在 top 中占用大量内存
  • 用 OpenResty XRay 引导式分析剖析进程,找出最大的 PHP 对象
  • 把最大的对象追溯到它的源码行
  • 用 Insights 报告自动监控 PHP 进程内存
  • 常见问题
  • 关于 OpenResty XRay

线上定位 Perl 进程中最大的内存对象

  • 症状:top 里某个 Perl 进程内存占用过高
  • 用 OpenResty XRay 引导式分析定位最大的 Perl 对象
  • 把最大的对象追溯回源码文件
  • 用 Insights 报告自动监控 Perl 进程内存
  • 常见问题(FAQ)
  • 关于 OpenResty XRay
  • 症状:top 里某个 Perl 进程内存占用过高
  • 用 OpenResty XRay 引导式分析定位最大的 Perl 对象
  • 把最大的对象追溯回源码文件
  • 用 Insights 报告自动监控 Perl 进程内存
  • 常见问题(FAQ)
  • 关于 OpenResty XRay

Django 内存分析:逐个对象剖析运行中应用的内存占用(使用 OpenResty XRay)

  • 用 ps 找出内存占用高的 Django 进程
  • 用引导式分析剖析 Django 应用的内存使用
  • 读懂火焰图:哪个 Python 模块占用内存最多
  • 用 Insights 自动监控 Django 内存使用
  • 关于 OpenResty XRay
  • 用 ps 找出内存占用高的 Django 进程
  • 用引导式分析剖析 Django 应用的内存使用
  • 读懂火焰图:哪个 Python 模块占用内存最多
  • 用 Insights 自动监控 Django 内存使用
  • 关于 OpenResty XRay

Python 内存分析器:无需改代码定位最占内存的对象

  • 找出哪个 Python 进程最占内存
  • 用引导式分析剖析 Python 内存:定位最大的对象及其所属模块
  • 用定时报告自动监控 Python 内存占用
  • 关于 OpenResty XRay
  • 找出哪个 Python 进程最占内存
  • 用引导式分析剖析 Python 内存:定位最大的对象及其所属模块
  • 用定时报告自动监控 Python 内存占用
  • 关于 OpenResty XRay

在线上 Kong 服务进程中实时统计 CPU 和内存用量最高的插件(使用 OpenResty XRay)

  • 服务器进程中所有 Kong 插件的 CPU 使用情况
  • 服务器进程中所有 Kong 插件的内存使用情况
  • 服务器的额外负担
  • 下一步是什么?
Photo by 章亦春
  • 服务器进程中所有 Kong 插件的 CPU 使用情况
  • 服务器进程中所有 Kong 插件的内存使用情况
  • 服务器的额外负担
  • 下一步是什么?

LuaJIT GC64 模式

  • 老的内存限制
    • 何时会碰到这个内存限制
    • 内存限制是每进程的
    • GC 管理的内存
    • 不由 GC 管理的内存
    • 提升 x64 模式的内存上限到 4 GB
  • 新的 GC64 模式
    • 如何开启 GC64 模式
    • 性能影响
    • 调试分析工具链
  • 老的内存限制
    • 何时会碰到这个内存限制
    • 内存限制是每进程的
    • GC 管理的内存
    • 不由 GC 管理的内存
    • 提升 x64 模式的内存上限到 4 GB
  • 新的 GC64 模式
    • 如何开启 GC64 模式
    • 性能影响
    • 调试分析工具链
联系我们

很乐意听到您的反馈,请与我们联系 👋

成功发送消息!

我们的专家团队将在 24 小时之内与您联系。
x