← Back
Memory

一次无法重启的 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)

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 应用剖析
  • 自动化采样与专家分析
  • 性能影响与开销
  • 常见问题

在线上 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