在 Debian 上“测 Java 性能”可以分成几个层次:系统/硬件层面、JVM 层面、应用层面、以及压测。下面给你一套从入门到进阶的实用方案(均基于 Debian,apt 可用)。
sudo apt update
sudo apt install default-jdk
java -version
lscpu
free -h
jps —— 看 Java 进程jps -l
jstat —— JVM 运行状态jstat -gcutil <pid> 1000
观察:
jstack —— 线程分析jstack <pid> > thread.txt
看:
jmap —— 内存快照jmap -heap <pid>
jmap -histo <pid> | head
top / htopsudo apt install htop
htop
vmstat / iostatvmstat 1
iostat -x 1
perf(内核级)sudo apt install linux-tools-common
sudo perf top
sudo apt install visualvm
visualvm
可看:
适合深度分析。
git clone https://github.com/jvm-profiling-tools/async-profiler
./profiler.sh -d 30 -f flamegraph.html <pid>
@Benchmark
public void test() { ... }
运行:
mvn clean package
java -jar benchmarks.jar
sudo apt install apache2-utils
ab -n 10000 -c 100 http://localhost:8080/
或使用:
wrkk6jmeterjava -Xms512m -Xmx512m \
-XX:+PrintGCDetails \
-XX:+PrintGCDateStamps \
-Xloggc:gc.log \
-jar app.jar
分析工具:
gcviewerGCeasytop → CPU 是否 100%jstack → 哪个线程jstat → GC 是否频繁jmap → 内存泄漏你可以告诉我:
我可以直接给你一套可执行的测试命令或脚本。