• jps命令


    1、介绍

        用来查看基于HotSpotJVM里面中,所有具有访问权限的Java进程的具体状态包括进程ID,进程启动的路径及启动参数等等,与unix上的ps类似,只不过jps是用来显示java进程,可以把jps理解为ps的一个子集。

        使用jps时,如果没有指定hostid,它只会显示本地环境中所有的Java进程;如果指定了hostid,它就会显示指定hostid上面的java进程,不过这需要远程服务上开启了jstatd服务,可以参看前面的jstatd章节来启动jstad服务。

    2、命令格式

    jps [ options ] [ hostid ]

    3、常用参数说明

    -q 忽略输出的类名、Jar名以及传递给main方法的参数,只输出pid

    -m 输出传递给main方法的参数,如果是内嵌的JVM则输出为null

    -l 输出应用程序主类的完整包名,或者是应用程序JAR文件的完整路径。

    -v 输出传给JVM的参数。

    -V 输出通过标记的文件传递给JVM的参数(.hotspotrc文件,或者是通过参数-XX:Flags=<filename>指定的文件)。

    -J 用于传递jvm选项到由javac调用的java加载器中,例如,“-J-Xms48m”将把启动内存设置为48M,使用-J选项可以非常方便的向基于Java的开发的底层虚拟机应用程序传递参数。

    4、服务器标识

    hostid指定了目标的服务器,它的语法如下:

    [protocol:][[//]hostname][:port][/servername]

    protocol - 如果protocolhostname都没有指定,那表示的是与当前环境相关的本地协议,如果指定了hostname却没有指定protocol,那么protocol的默认就是rmi

    hostname - 服务器的IP或者名称,没有指定则表示本机。

    port - 远程rmi的端口,如果没有指定则默认为1099

    Servername - 注册到RMI注册中心中的jstatd的名称。

    5、使用示例

    5.1、列出本地的Java进程

    不带任何参数

    fenglibin@libin:~$ jps

    11644 Main

    1947 

    12843 Jps

    -v参数

    fenglibin@libin:~$ jps -v

    11644 Main -agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:43467 -Dfile.encoding=GBK

    1947  -Dosgi.requiredJavaVersion=1.5 -XX:MaxPermSize=256m -Xms40m -Xmx512m

    12858 Jps -Denv.class.path=/home/fenglibin/java6/lib/dt.jar:/home/fenglibin/java6/lib/tools.jar::/usr/bin/libtool:/usr/bin/autoconf:/usr/local/BerkeleyDB.4.8/lib -Dapplication.home=/home/fenglibin/java6 -Xms8m

    -l参数

     

    fenglibin@libin:~$ jps -l

    11644 com.alibaba.china.webww.core.Main

    12870 sun.tools.jps.Jps

    1947

     

    5.2、列出远程的Java进程

    jstatd章节,我们有通过:

    rmiregistry 2020&jstatd -J-Djava.security.policy=all.policy -p 2020 -n AlternateJstatdServerName

    启动了名为AlternateJstatdServerNamejstatd服务,那么我们此时就可以通过该服务列出其有权限访问的Java进程。

    fenglibin@libin:~$ jps 10.1.1.234:2020/AlternateJstatdServerName

    29556 Bootstrap

    28671 WSPreLauncher

    2602 RegistryImpl

    18272 Test

    2603 Jstatd

  • 相关阅读:
    AtomicLong与LongAdder的区别
    记录Vmware Workstation及Centos6.8 的安装
    java.lang.NoSuchMethodError问题处理
    java读取UTF-8的txt文件发现开头的一个字符问题
    Java多线程之内存可见性和原子性:Synchronized和Volatile的比较
    关于怎么解决java.lang.NoClassDefFoundError错误
    使用SFTP工具相关问题
    resin中关于url rewrite来传递jsessionid的问题
    Linux常用命令
    Jenkins简单安装及配置(Windows环境)
  • 原文地址:https://www.cnblogs.com/pdca/p/4721885.html
Copyright © 2020-2023  润新知