• jps显示java进程不全


    习惯性地便捷的jps命令,快速获取java进程信息,可能会出现jps显示不全的现象。

    1、jps显示不全,只有一个signer的进程,

    songzehao@songzehao-virtual-machine:~$ jps -l
    406384 com.lingshu.bsp.signer.Application
    437937 sun.tools.jps.Jps
    
    • 1
    • 2
    • 3

    可以看到只有一个java进程,实际上是有更多进程。

    2、ps可以看到所有用户下的所有进程,包含了

    • root下的5个docker容器中的front进程
    • 1个node-mgr进程
    • 1个arthas进程
    • 以及当前用户songzehao下的signer进程
    songzehao@songzehao-virtual-machine:~$ ps -ef | grep java
    root      404652       1  0 6月28 ?       00:41:09 /usr/local/jdk1.8.0_40/bin/java -Djdk.tls.namedGroups=secp256k1 -Dfile.encoding=UTF-8 -Djava.security.egd=file:/dev/./urandom -Xmx256m -Xms256m -Xmn128m -Xss512k -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/songzehao/0shuCodes/baas2/node-manager/dist/log/heap_error.log -cp conf/:apps/:lib/ com.lingshu.bsp.node.mgr.Application
    songzeh+  406384       1  0 6月28 pts/2   00:05:57 /usr/local/jdk1.8.0_40/bin/java -Dfile.encoding=UTF-8 -Xmx256m -Xms256m -Xmn128m -Xss512k -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/songzehao/0shuCodes/baas2/signer/dist/log/heap_error.log -cp conf/:apps/:lib/ com.lingshu.bsp.signer.Application
    root      408906  408874  1 6月28 ?       00:45:26 /usr/lib/jvm/java-8-openjdk-amd64/bin/java -Djdk.tls.namedGroups=secp256k1 -Dfile.encoding=UTF-8 -Xmx256m -Xms256m -Xmn128m -Xss512k -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/front/log/heap_error.log -Djava.library.path=/front/conf -cp conf/:apps/:lib/ com.lingshu.bsp.front.Application
    root      409297  409262  1 6月28 ?       00:46:10 /usr/lib/jvm/java-8-openjdk-amd64/bin/java -Djdk.tls.namedGroups=secp256k1 -Dfile.encoding=UTF-8 -Xmx256m -Xms256m -Xmn128m -Xss512k -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/front/log/heap_error.log -Djava.library.path=/front/conf -cp conf/:apps/:lib/ com.lingshu.bsp.front.Application
    root      409690  409658  1 6月28 ?       00:46:25 /usr/lib/jvm/java-8-openjdk-amd64/bin/java -Djdk.tls.namedGroups=secp256k1 -Dfile.encoding=UTF-8 -Xmx256m -Xms256m -Xmn128m -Xss512k -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/front/log/heap_error.log -Djava.library.path=/front/conf -cp conf/:apps/:lib/ com.lingshu.bsp.front.Application
    root      417090  417000  0 6月28 ?       00:27:04 /usr/lib/jvm/java-8-openjdk-amd64/bin/java -Djdk.tls.namedGroups=secp256k1 -Dfile.encoding=UTF-8 -Xmx256m -Xms256m -Xmn128m -Xss512k -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/front/log/heap_error.log -Djava.library.path=/front/conf -cp conf/:apps/:lib/ com.lingshu.bsp.front.Application
    root      421981  421950  0 6月28 ?       00:36:13 /usr/lib/jvm/java-8-openjdk-amd64/bin/java -Djdk.tls.namedGroups=secp256k1 -Dfile.encoding=UTF-8 -Xmx256m -Xms256m -Xmn128m -Xss512k -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/front/log/heap_error.log -Djava.library.path=/front/conf -cp conf/:apps/:lib/ com.lingshu.bsp.front.Application
    root      437688  428642  0 10:57 pts/0    00:00:01 java -jar arthas-boot.jar
    songzeh+  437932   22583  0 11:14 pts/2    00:00:00 grep --color=auto java
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    3、可能容易被忽略,jps只是获取当前用户下的所有java进程,root权限的用户可以获取到所有用户下的所有java进程,所以再用sudo jps试试,

    songzehao@songzehao-virtual-machine:~$ sudo jps -l
    417090 com.lingshu.bsp.front.Application
    437955 jdk.jcmd/sun.tools.jps.Jps
    406384 com.lingshu.bsp.signer.Application
    409297 com.lingshu.bsp.front.Application
    404652 com.lingshu.bsp.node.mgr.Application
    421981 com.lingshu.bsp.front.Application
    408906 com.lingshu.bsp.front.Application
    409690 com.lingshu.bsp.front.Application
    437688 arthas-boot.jar
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    可以获取到所有用户下的所有java进程,同理可以su切换到root用户,再jps查看,

    root@songzehao-virtual-machine:~# jps -l
    417090 com.lingshu.bsp.front.Application
    406384 com.lingshu.bsp.signer.Application
    409297 com.lingshu.bsp.front.Application
    404652 com.lingshu.bsp.node.mgr.Application
    421981 com.lingshu.bsp.front.Application
    437978 jdk.jcmd/sun.tools.jps.Jps
    408906 com.lingshu.bsp.front.Application
    409690 com.lingshu.bsp.front.Application
    437688 arthas-boot.jar
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    4、arthas启动后也可以获取java进程列表,试下arthas在不同用户下启动,先在当前用户下启动,

    songzehao@songzehao-virtual-machine:~/apps$ java -jar arthas-boot.jar
    [INFO] arthas-boot version: 3.6.2
    [INFO] Found existing java process, please choose one and input the serial number of the process, eg : 1. Then hit ENTER.
    [1]: 406384 com.lingshu.bsp.signer.Application
    
    • 1
    • 2
    • 3
    • 4

    只能获取到当前用户的java进程,再到root用户下启动,

    root@songzehao-virtual-machine:~/apps# java -jar arthas-boot.jar
    [INFO] arthas-boot version: 3.6.2
    [INFO] Process 404652 already using port 3658
    [INFO] Process 404652 already using port 8563
    [INFO] Found existing java process, please choose one and input the serial number of the process, eg : 1. Then hit ENTER.
    [1]: 404652 com.lingshu.bsp.node.mgr.Application
    [2]: 417090 com.lingshu.bsp.front.Application
    [3]: 406384 com.lingshu.bsp.signer.Application
    [4]: 409297 com.lingshu.bsp.front.Application
    [5]: 421981 com.lingshu.bsp.front.Application
    [6]: 408906 com.lingshu.bsp.front.Application
    [7]: 409690 com.lingshu.bsp.front.Application
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    获取到了所有用户下的所有java进程,跟jps的表现一致。

  • 相关阅读:
    Linux内存状态监测工具smem命令 | 如何在#linux OS下找到特定进程的交换(swap)空间使用情况?
    Matlab实现异构交通流
    Ubuntu不显示共享文件夹解决方案
    CSS背景background八种属性
    免疫抑制作用的转录抑制分子
    模型训练前后显卡占用对比、多卡训练GPU占用分析【一文读懂】
    快速增长的庞大市场:Jelurida非洲分部助力金融包容性方案
    强化学习 Proximal Policy Optimization (PPO)
    postgresql之page分配管理(一)
    如何使用数组——javascript
  • 原文地址:https://blog.csdn.net/songzehao/article/details/125568782