← 中文资源

简体中文版本

内存压力调优工作流

通过测量分配增长诊断内存导致的变慢或 OOM,再调限或修泄漏,而非猜测限额。

阅读英文原文

目标

应通过测量分配增长定位内存压力,而非猜测限额。本工作流在持续负载下跟踪内存使用以区分泄漏与稳态占用,用分配剖析定位增长的对象,判断是修真实泄漏还是稳态确实需要更高限额,最后验证内存平稳且无 OOM。

步骤要点

  1. 在持续负载下跟踪内存使用。
  2. 用分配剖析定位增长对象。
  3. 判断修泄漏还是提高限额。
  4. 验证内存平稳且无 OOM。
# watch RSS across a soak
while true; do ps -o rss= -p $(pgrep -f server) ; sleep 30; done

验证

按顺序执行上述步骤后,逐项确认每个步骤的预期状态均已满足;只有全部预期状态成立,才认为本流程完成。若某一步未达到预期状态,应先按排错提示排查,不要跳过继续,以免掩盖问题。

排错提示

  • 提高限额会掩盖泄漏。
  • 围绕泄漏调 GC 只是拖延 OOM。
  • 不测量增长会修错方向。

适用边界

  • 需要内存指标与剖析器。
  • 优先减少分配。