如何查看Java进程和线程

举报
李子捌 发表于 2021/11/29 08:55:29 2021/11/29
【摘要】 1、Windows通过任务管理器查看进程信息在进程页签中查看Java进程,我是idea启动,因此可以在idea下查看相关进程此外可以在详细信息页签下Ctrl+f搜索java通过控制台查看进程信息进入CMD,键入tasklist,可以查看所有的进程信息,包括进程ID、内存使用情况查看Java相关的进程,可以添加过滤条件 tasklist | findstr "java" ,需要注意window...

1、Windows

通过任务管理器查看进程信息

在进程页签中查看Java进程,我是idea启动,因此可以在idea下查看相关进程

此外可以在详细信息页签下Ctrl+f搜索java


通过控制台查看进程信息

进入CMD,键入tasklist,可以查看所有的进程信息,包括进程ID、内存使用情况

查看Java相关的进程,可以添加过滤条件 tasklist | findstr "java" ,需要注意windows中字符串需要使用双引号,要不就不加也是可以的

如果是在IDEA中启动程序,可以借用idea的Terminal终端执行命令


taskkill 杀死进程

杀死进程使用taskkill /pid 指定进程id,如果无法杀死,可以尝试强制杀死taskkill /pid 进程id -t -f

可以看到idea控制台中进程已结束

通过tasklist | findstr 进程id 已经无法查询到该进程,说明进程终止成功



2、Linux

ps -ef 命令查看

Linux下可以通过ps -ef查看所有进程信息,具体参数说明如果不知道的可以看看菜鸟网站的简单介绍,如下链接可以直达。


提供一个测试Java类,为防止线程运行结束,代码中使用了while(true)循环,同时防止完全占用CPU,使用TimeUnit.SECONDS.sleep(2)睡眠2秒,让出CPU执行时间。

通过javac ThreadDemo2.java编译ThreadDemo2.java类,生成对应的class文件-ThreadDemo2.class;之后通过java -cp / com.lzb.concurrency.demo1.ThreadDemo2运行

查看ThreadDemo2的进程信息ps -ef | grep ThreadDemo2(注意需要新开一个Shell窗口


kill 杀死进程

使用kill 进程id,杀死进程


top 命令查看

查看所有进程信息,可以使用top命令

查看指定进程的信息,使用top -p 进程id,查看指定进程下的所有线程信息,可以使用top -H -p 进程id

具体参数描述可以参考下菜鸟网站的简单介绍,如下链接可以直达。


3、Java自带工具

jps 查看进程id

Java自带的命令就不区分平台了,如果需要查看所有的Java进程id,可以使用jps


jstack 查看进程中的线程状态

查看某个Java进程的线程状态,可以结合jps一起使用,先通过jps查询进程的id,然后通过jstack查询进程中的所有线程的状态,需要注意的是jstack查询的线程状态,是该进程在查询时刻的线程状态(瞬时态)

信息比较多并未展示完全


jconsole 图形化界面

jconsole是jdk自带的监控内存、线程、类等资源情况的图形化界面。

在windows 环境下,可以直接双击运行jdk安装目录bin文件夹下的jconsole.exe文件

如果是本地Java进程,可以勾选本地进程,然后再本地进程中找到你的Java进程,选中后点击连接即可

本地连接不需要密码验证,选择不安全连接即可,如下即为jconsole的界面


如果java进程运行在远程Linux服务器上,则需要使用远程连接

远程连接需要ip port username password等信息,此时我们需要使用如下方式运行Java类

java -Djava.rmi.server.hostname='ip地址' -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port='端口' -Dcom.sun.management.jmxremote.ssl=是否安全连接 -Dcom.

sun.management.jmxremote.authenticate=是否需要认证 java类

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。