1. ps 和 jps的 关系

ps

  1. 什么进程

程序(例如 二进制文件-binary file)被触发后
执行者的权限 与 属性、程序的代码及所需要的数据都会被加载到内存中
操作系统会给予这个内存单元一个标识符(PID) 可以说进程就是真正运行的程序

当我们执行一个程序时,对于操作系统来讲就是创建了一个进程,在这个过程中,伴随着资源的分配和释放,可以认为进程是一个程序的一次执行过程

2.父进程与子进程

    进程 都会由 父进程 以复制(fork)的方式产生一个一模一样的子进程

然后被复制出来的子进程再以 exec 的方式来执行实际还要进行的程序 最终形成一个子进程
 3. 进程状态
    D: 无法中断的休眠状态 (通常 IO 的进程)
    R: 正在执行中
    S: 静止状态
    T: 暂停执行
    Z: 不存在但暂时无法消除
    W: 没有足够的记忆体分页可分配
    <: 高优先序的行程
    N: 低优先序的行程
    L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)

  4. ps 是什么 ?

          查看当前系统的进程及进程状态 的软件

              查询结果为执行命令时刻进程的快照

      5. 常用命令

    1.  ps -ef 

                  功能 : 查看系统所有进程(标准语法)

[root@gaocun sbin]# ps -ef
UID : 执行者
PID : 进程id
PPID : 进程父id
C : CPU使用率,单位百分比
STIME :
TTY : 登入者终端机位置,远程登入为pts/n
TIME : 使用CPU的时间
CMD : 触发该进程的指令(command)


[root@gaocun sbin]# ps -ef | grep 22717

root     22717     1  0 14:03 ?        00:00:06
/home/software/jdk1.8/bin/java
-Dproc_datanode
-Djava.net.preferIPv4Stack=true
-Dhadoop.security.logger=ERROR,RFAS
-Dyarn.log.dir=/home/software/hadoop-3.1.3/logs
-Dyarn.log.file=hadoop-root-datanode-gaocun.log
-Dyarn.home.dir=/home/software/hadoop-3.1.3
-Dyarn.root.logger=INFO,console
-Djava.library.path=/home/software/hadoop-3.1.3/lib/native
-Dhadoop.log.dir=/home/software/hadoop-3.1.3/logs
-Dhadoop.log.file=hadoop-root-datanode-gaocun.log
-Dhadoop.home.dir=/home/software/hadoop-3.1.3 -Dhadoop.id.str=root
-Dhadoop.root.logger=INFO,RFA -Dhadoop.policy.file=hadoop-policy.xml
org.apache.hadoop.hdfs.server.datanode.DataNode
View Code

            2. ps aux

      功能 : 查看系统所有进程(BSD语法)

[root@gaocun sbin]# ps aux
USER : 触发该进程的用户
PID :
%CPU : 该进程占用CPU资源的百分比
%MEM : 该进程占用物理内存的百分比
VSZ : 该进程使用掉虚拟内存量(Kbytes)
RSS : 该进程占用固定内存量(Kbytes)
TTY : 该进程在哪个终端机上面运行,如果为pts/n则为由网络连接进主机的进程
STAT : 该进程的状态
START : 该进程被触发的时间
TIME : 该进程使用使用CPU的时间
COMMAND : 该进程的触发命令


[root@gaocun sbin]# ps aux | grep 22717
root     22717  0.1  6.4 2802408 249324 ?      Sl   14:03   0:09
/home/software/jdk1.8/bin/java
-Dproc_datanode
-Djava.net.preferIPv4Stack=true
-Dhadoop.security.logger=ERROR,RFAS
-Dyarn.log.dir=/home/software/hadoop-3.1.3/logs
-Dyarn.log.file=hadoop-root-datanode-gaocun.log
-Dyarn.home.dir=/home/software/hadoop-3.1.3
-Dyarn.root.logger=INFO,console
-Djava.library.path=/home/software/hadoop-3.1.3/lib/native
-Dhadoop.log.dir=/home/software/hadoop-3.1.3/logs
-Dhadoop.log.file=hadoop-root-datanode-gaocun.log
-Dhadoop.home.dir=/home/software/hadoop-3.1.3 -Dhadoop.id.str=root
-Dhadoop.root.logger=INFO,RFA -Dhadoop.policy.file=hadoop-policy.xml
org.apache.hadoop.hdfs.server.datanode.DataNode
View Code

     3. ps axjf

      功能 : 查看进程树

   4. ps -aux --sort -pcpu | less
   
   功能 : 根据cpu使用来升序排序

   5. ps -aux --sort -pmem | less

      功能 : 根据内存使用来升序排序

  ==============================================================================

jps

   1. jps是什么
-- jps - Java Virtual Machine Process Status Tool
-- JDK1.5提供的软件
-- 功能 显示当前环境 正在运行的 java进程

   2. 官方文档
-- https://docs.oracle.com/javase/1.5.0/docs/tooldocs/share/jps.html#options
   3. 软件安装目录
  [root@gaocun sbin]# type jps
   jps 已被哈希 (/home/software/jdk1.8/bin/jps)

4. 常用命令
-- 使用语法
-- 1. 格式
    jps [ options ] [ hostid ]
-- 2. 参数
    -- 0. 无参数
    -- 说明 : 显示pid 和 类名
    [root@gaocun sbin]# jps

    22717 DataNode
    12878 Jps
    22510 NameNode
    23023 SecondaryNameNode

    --  1. -q
    --  说明 : 只输出pid(进程id) ,不输出 类名、类文件、main方法的参数
    --  案例

    --  2. -m
    --  说明 : 输出pid(进程id) 、类名、main方法的输入参数
    --        对于嵌入式jvm,输出可能为空

    --  3. -l
    --  说明 : 输出pid(进程id) 、全类名
    --  案例
            [root@gaocun sbin]# jps -l
            22717 org.apache.hadoop.hdfs.server.datanode.DataNode
            22510 org.apache.hadoop.hdfs.server.namenode.NameNode
            23023 org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode
            1759 sun.tools.jps.Jps

    --  4. -v
    --  说明 : 输出pid(进程id) 、执行jar包时,输出传递给JVM的参数
    --  案例
            7301 Jps -Dapplication.home=/home/software/jdk1.8 -Xms8m
            22717 DataNode  -Dproc_datanode
                            -Djava.net.preferIPv4Stack=true
                            -Dhadoop.security.logger=ERROR,RFAS
                            -Dyarn.log.dir=/home/software/hadoop-3.1.3/logs
                            -Dyarn.log.file=hadoop-root-datanode-gaocun.log
                            -Dyarn.home.dir=/home/software/hadoop-3.1.3
                            -Dyarn.root.logger=INFO,console
                            -Djava.library.path=/home/software/hadoop-3.1.3/lib/native
                            -Dhadoop.log.dir=/home/software/hadoop-3.1.3/logs
                            -Dhadoop.log.file=hadoop-root-datanode-gaocun.log
                            -Dhadoop.home.dir=/home/software/hadoop-3.1.3
                            -Dhadoop.id.str=root
                            -Dhadoop.root.logger=INFO,RFA
                            -Dhadoop.policy.file=hadoop-policy.xml

    --  4. -V
    --  说明 : 输出pid(进程id) 、输出通过flags文件(.hotspotrc文件或-XX: flags =参数指定的文件)传递给JVM的参数。

 

 

 

 

 

 

 

 

 

 

 

posted @ 2022-01-14 15:58  学而不思则罔!  阅读(346)  评论(0)    收藏  举报