← Back
Memory

Hunting Down a Silent Memory Leak in OpenResty Without a Reboot

  • A Complete Dissection of a Production Memory Leak
  • Why Are These Problems Nearly Unsolvable?
  • A System Transformation
  • When Performance Issues Go Beyond Just Tools
  • A Complete Dissection of a Production Memory Leak
  • Why Are These Problems Nearly Unsolvable?
  • A System Transformation
  • When Performance Issues Go Beyond Just Tools

Fix LuaJIT RSS Memory Leak in OpenResty: Stop OOM Kills Without Restarts

  • What Is the LuaJIT Pseudo Memory Leak?
  • Diagnosing the Problem with Real Production Data
  • Why Standard Fixes Don’t Work
  • How LuaJIT-plus Fixes This at the Allocator Level
  • Production Impact After Deployment
  • What Is the LuaJIT Pseudo Memory Leak?
  • Diagnosing the Problem with Real Production Data
  • Why Standard Fixes Don’t Work
  • How LuaJIT-plus Fixes This at the Allocator Level
  • Production Impact After Deployment

How to Diagnose Java Memory Leaks in Production — Without Heap Dumps or Restarts

  • Why Full GCs Didn’t Reclaim the Heap: A Production Java Memory Leak
  • How to Diagnose a Java Memory Leak in Production Without a Heap Dump
  • How to Find a Java Memory Leak: A Reusable 3-Step Method
  • Why Use OpenResty XRay to Find Java Memory Leaks on a Live JVM?
  • FAQ
  • Why Full GCs Didn’t Reclaim the Heap: A Production Java Memory Leak
  • How to Diagnose a Java Memory Leak in Production Without a Heap Dump
  • How to Find a Java Memory Leak: A Reusable 3-Step Method
  • Why Use OpenResty XRay to Find Java Memory Leaks on a Live JVM?
  • FAQ

Analyzing CPU Usage in Online Node.js Applications (Using OpenResty XRay)

  • High CPU Usage Issues in Node.js Applications
  • CPU Blocking Issues in Node.js Applications
  • Automated Sampling and Expert Analysis
  • Performance Impact and Overhead
  • Future Plans
  • High CPU Usage Issues in Node.js Applications
  • CPU Blocking Issues in Node.js Applications
  • Automated Sampling and Expert Analysis
  • Performance Impact and Overhead
  • Future Plans

Nginx Core Dump Analysis: Catch a Worker Process Crash at the First Scene

  • The Case: Frequent Nginx Worker Process Crashes No Log Could Explain
  • Analyzing the Recording: Replaying the Crash Back to the First Scene
  • Root Cause: A Use-After-Free in Nginx’s Connection Lifecycle
  • Frequently Asked Questions
  • The Case: Frequent Nginx Worker Process Crashes No Log Could Explain
  • Analyzing the Recording: Replaying the Crash Back to the First Scene
  • Root Cause: A Use-After-Free in Nginx’s Connection Lifecycle
  • Frequently Asked Questions

Tracing an LRU Cache Memory Leak in OpenResty — Down to the Cached SSL Certificates

  • Why a Low-Traffic OpenResty App Kept Leaking Memory
  • How We Traced the LRU Cache Memory Leak, Step by Step
  • The Result: From Unbounded Growth to Stable Memory
  • Why a Low-Traffic OpenResty App Kept Leaking Memory
  • How We Traced the LRU Cache Memory Leak, Step by Step
  • The Result: From Unbounded Growth to Stable Memory

Java Application Profiling: CPU, Off-CPU & Disk I/O Without Safepoint Bias

  • Profiling Java CPU hotspots with flame graphs
  • Off-CPU Java profiling: lock contention and blocking analysis
  • Java disk I/O profiling: tracing file and socket writes
  • OpenJDK 8/11/17/21 application profiling support
  • Automated sampling and expert analysis
  • Performance impact and overhead
  • FAQ
Photo by Yichun Zhang
  • Profiling Java CPU hotspots with flame graphs
  • Off-CPU Java profiling: lock contention and blocking analysis
  • Java disk I/O profiling: tracing file and socket writes
  • OpenJDK 8/11/17/21 application profiling support
  • Automated sampling and expert analysis
  • Performance impact and overhead
  • FAQ

PHP Memory Profiler: Locate the Largest Memory Objects in a Live PHP Process

  • Symptom: a PHP process using high memory in top
  • Profile the process with OpenResty XRay guided analysis to find the largest PHP objects
  • Trace the largest object back to its source line
  • Monitor PHP process memory automatically with Insights reports
  • FAQ
  • What is OpenResty XRay
  • Symptom: a PHP process using high memory in top
  • Profile the process with OpenResty XRay guided analysis to find the largest PHP objects
  • Trace the largest object back to its source line
  • Monitor PHP process memory automatically with Insights reports
  • FAQ
  • What is OpenResty XRay

Locate the Largest Memory Objects in a Live Perl Process

  • Symptom: a Perl process using high memory in top
  • Profile the process with OpenResty XRay guided analysis to find the largest Perl objects
  • Trace the largest object back to its source file
  • Monitor Perl process memory automatically with Insights reports
  • FAQ
  • What is OpenResty XRay
  • Symptom: a Perl process using high memory in top
  • Profile the process with OpenResty XRay guided analysis to find the largest Perl objects
  • Trace the largest object back to its source file
  • Monitor Perl process memory automatically with Insights reports
  • FAQ
  • What is OpenResty XRay

Django Memory Profiler: Analyze Object-Level Memory Usage in a Live App

  • Spot a high-memory Django process with ps
  • Profile the Django app’s memory usage with Guided Analysis
  • Read the flame graph: which Python module uses the most memory
  • Monitor Django memory usage automatically with Insights
  • What is OpenResty XRay
  • Spot a high-memory Django process with ps
  • Profile the Django app’s memory usage with Guided Analysis
  • Read the flame graph: which Python module uses the most memory
  • Monitor Django memory usage automatically with Insights
  • What is OpenResty XRay

Python Memory Profiler: Find the Largest Objects Eating RAM Without Code Changes

  • Find which Python process is using the most memory
  • Profile Python memory with guided analysis: find the largest objects and their modules
  • Automatically monitor Python memory usage with scheduled reports
  • What is OpenResty XRay
  • Find which Python process is using the most memory
  • Profile Python memory with guided analysis: find the largest objects and their modules
  • Automatically monitor Python memory usage with scheduled reports
  • What is OpenResty XRay

LuaJIT GC64 Mode: Removing the 2GB Memory Limit

  • The Old Memory Limit
    • When Hitting The Memory Limit
    • The Memory Limit Is Per Process
    • GC-Managed Memory
    • Memory Allocated Outside GC
    • Extending The x64 Mode to The 4 GB Limit
  • The New GC64 Mode
    • How to Enable The GC64 Mode
    • Performance Impact
    • Debugging and Profiling Tool Chains
  • The Old Memory Limit
    • When Hitting The Memory Limit
    • The Memory Limit Is Per Process
    • GC-Managed Memory
    • Memory Allocated Outside GC
    • Extending The x64 Mode to The 4 GB Limit
  • The New GC64 Mode
    • How to Enable The GC64 Mode
    • Performance Impact
    • Debugging and Profiling Tool Chains
Contact us

Love to hear from you, Get in touch 👋

Message was sent successfully!

Our Team will get back to you within 24 hours.
x