在 Linux 上使用 jps 命令检查 Java 进程 | Linux 中国

哎哟,咱们聊聊Linux上的那个jps命令吧,这玩意儿挺实用的,特别适合检查Java进程。
说起来,这jps啊,是OpenJDK提供的一个小工具,作用就是扫描系统上所有运行的JVM实例,简单来说,就是帮你快速找到Java进程。

当时我用这个命令的时候,发现终端里输入jps然后回车,嘿,一下子就列出了所有运行的Java进程的进程标识符,还有对应的类名或者Jar文件名,挺方便的。

要是你想看更详细的信息,比如启动参数啥的,可以加个v选项,就像这样:jps -v。
不过,这玩意儿选项可能得看JDK版本,具体得查查文档。

得提一句,这玩意儿运行可能需要权限,尤其是你想看其他用户启动的Java进程的时候。
手册页上写着这命令是试验性的,不受支持的,但说实话,用起来挺顺手的。

兼容性嘛,jps是OpenJDK的,所以用其他Java发行版的时候,得确认也带了这个工具。

要是jps不行,咱们还可以用ps命令配合grep来查,比如ps aux | grep java,这也能找到Java进程,但感觉没jps直接。

总之啊,这jps命令在Linux上检查Java进程是个挺不错的工具,用对了能帮你省不少事。

如何查看unix 的java内存使用情况

直接上干货,看懂就完事儿。

jmap -heap 3 4 09 看堆内存分配情况,新生代、老年代、持久代。

jmap -histo 3 4 09 看堆里所有对象,类名、数量、大小。

jmap -histo:live 3 4 09 只看存活对象,哪个耗内存最狠一目了然。

永久代用 -permstat,但现代JVM很少用了。

jps 看当前Java进程号,随便挑一个。

jstat -gc 3 4 09 实时看GC情况,Young GC次数、Full GC时间。

jstat -gccapacity 3 4 09 三代内存使用量,PGCMN最小Perm使用。

jinfo -flag MaxPermSize 3 4 09 看Perm最大值,如果爆了就完。

jmap -dump:format=b,file=heap.bin 3 4 09 堆内存转二进制文件,用MemoryAnalyzer分析。

jconsole 图形界面监控,连远程机都行。

jstack 3 4 09 看线程堆栈,死锁直接暴露。

总结:jmap看对象,jstat看GC,jconsole看图表。
内存泄漏?jmap -histo:live跑起来就知道了。