Sublime Text 是轻量级文本编辑器,用于查看分析 JVM 输出的 GC 日志和线程 dump,不参与 JVM 调优;需配合 JDK 工具链配置参数生成日志,再利用其正则搜索、语法高亮、排序及 Diff 功能提升分析效率。
Sublime Text 本身不运行 Java 应用,也不直接参与 JVM 性能调优、GC 日志分析或线程堆栈采集。它只是一个轻量级文本编辑器,常被开发者用来
查看和分析
由 JVM 输出的 GC 日志、线程 dump(如
输出)等文本文件。真正的调优和日志生成需依赖 JDK 工具链与 JVM 参数配置。
如何让 JVM 输出有用的 GC 日志
在启动 Java 应用时,通过添加 JVM 参数开启详细 GC 日志记录,这是后续分析的基础:
Java 8 及以前
:使用
Java 9+(推荐)
:统一使用
,例如:
建议同时加
避免日志过大
用 Sublime 快速查看和筛选 GC 日志
Sublime 的优势在于快速打开大文件、支持正则高亮和多行搜索:
用
Ctrl+H(Cmd+H)→ 勾选 “Regex”
查找关键模式,例如:
定位 Full GC;
看触发原因
安装插件
Highlighter
或启用内置语法高亮(
View → Syntax → Open all with current extension as → Java Properties
),提升可读性
按
Ctrl+Shift+P → “Sort Lines”
可对时间戳排序,辅助判断 GC 频率趋势
分析线程堆栈(
js
tack)的关键点
用
生成后,在 Sublime 中重点关注:
Eclipse导入Android或其他的JAVA项目的正确方法 WORD版
本文档主要讲述的是Eclipse导入Android或其他的JAVA项目的正确方法;希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看
下载
立即学习
“
Java免费学习笔记(深入)
”;
搜索
找锁竞争
查找
状态中持续时间长的线程(结合时间戳或上下文)
比对多个 dump 文件:用 Sublime 的
“Diff” 插件
或分屏对比(
View → Layout → Columns: 2
),看哪些线程状态长期未变
配合其他工具才真正完成调优
Sublime 是“眼睛”,不是“大脑”。实际调优需结合:
jstat
实时观察 GC 频率与堆占用:
jmap
查看堆对象分布:
或导出堆转储后用 Eclipse MAT 分析
VisualVM / JProfiler / async-profiler
做 CPU/内存/锁的可视化诊断
根据分析结果调整参数:如增大堆(
)、切换垃圾收集器(
)、调优新生代比例(
)等
基本上就这些。Sublime 不负责分析逻辑,但用好它的文本处理能力,能显著提升你读日志、找线索的效率。
jstack-XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:gc.log-Xlog:gc*:gc.log:time,tags,level-Xlog:gc*,gc+heap=debug:gc.log:time,tags-XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=10MGC pause.*FullAllocation Failurejstack > thread-dump.txt java.lang.Thread.State: BLOCKEDWAITING / TIMED_WAITINGjstat -gc 1s jmap -histo -Xmx-XX:+UseZGC-XX:NewRatio