Linux ps (英文全拼:process status)命令用于显示当前进程的状态,类似于 windows 的任务管理器。
Linux ps 命令
语法
ps [options][--help]
常用参数
-A 列出所有的进程
-w 显示加宽可以显示较多的资讯
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的行程
au(x) 输出格式 : USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER: 行程拥有者
PID: pid
%CPU: 占用的 CPU 使用率
%MEM: 占用的记忆体使用率
VSZ: 占用的虚拟记忆体大小
RSS: 占用的记忆体大小
TTY: 终端的次要装置号码 (minor device number of tty)
STAT: 该行程的状态:
D: 无法中断的休眠状态 (通常 IO 的进程)
R: 正在执行中
S: 静止状态
T: 暂停执行
Z: 不存在但暂时无法消除
W: 没有足够的记忆体分页可分配
<: 高优先序的行程
N: 低优先序的行程
L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
START: 行程开始时间
TIME: 执行的时间
COMMAND:所执行的指令
应用举例
ps -l只能查看自己bash的进程
work@authority-api-v1-6944b5848b-6x5d2:~$ ps -l
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 1000 1519 0 0 80 0 - 5283 wait pts/0 00:00:00 bash
0 R 1000 1536 1519 0 80 0 - 7486 - pts/0 00:00:00 ps
work@authority-api-v1-6944b5848b-6x5d2:~$
ps aux所有系统运行的进程,按照PID的顺序来排序显示
work@authority-api-v1-6944b5848b-6x5d2:~$ ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
work 1 0.0 0.0 4280 64 ? Ss Feb15 0:00 /bin/sh -c PROJECT_DIR=/home/work/www/authority-api $PROJECT_DIR/bin/bootstrap
work 6 0.0 0.0 19728 992 ? S Feb15 0:00 /bin/bash /home/work/www/authority-api/bin/bootstrap run
work 16 0.0 0.0 19880 1152 ? S Feb15 0:00 /bin/bash /home/work/www/authority-api/bin/..//lib/authority-api.jar run
work 47 0.8 0.3 7494192 686500 ? Sl Feb15 56:13 /usr/local/openjdk-8/bin/java -Dsun.misc.URLClassPath.disableJarChecking=true -
work 1519 0.0 0.0 21132 4696 pts/0 Ss 00:56 0:00 bash
work 1544 0.0 0.0 38384 3072 pts/0 R+ 01:35 0:00 ps aux
查找指定进程
work@authority-api-v1-6944b5848b-6x5d2:~$ ps -ef | grep java| grep auth
work 47 16 0 Feb15 ? 00:56:13 /usr/local/openjdk-8/bin/java -Dsun.misc.URLClassPath.disableJarChecking=true -DLOG_PATH=/mnt/logs/authority-api -server -XX:MaxRAMPercentage=30.0 -XX:InitialRAMPercentage=30.0 -XX:MinRAMPercentage=30.0 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/mnt/logs/authority-api/jvm -XX:ErrorFile=/mnt/logs/authority-api/jvm/jvm_err.log -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:ConcGCThreads=2 -XX:ParallelGCThreads=2 -XX:+ScavengeBeforeFullGC -XX:+CMSScavengeBeforeRemark -XX:+CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=1 -XX:GCLogFileSize=50M -verbose:gc -XX:+PrintHeapAtGC -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+PrintGCApplicationStoppedTime -Xloggc:/mnt/logs/authority-api/jvm/gc.log -javaagent:/usr/local/jmx-exporter/jmx_prometheus_javaagent-0.14.0.jar=9990:/usr/local/jmx-exporter/prometheus-jmx-config.yaml -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -jar /home/work/www/authority-api/lib/authority-api.jar --server.address=0.0.0.0 --spring.config.location=/home/work/www/authority-api/conf/ --spring.profiles.active=testing --logging.config=/home/work/www/authority-api/conf/log4j2.yml
显示指定用户信息
work@authority-api-v1-6944b5848b-6x5d2:~$ ps -u work
PID TTY TIME CMD
1 ? 00:00:00 sh
6 ? 00:00:00 bootstrap
16 ? 00:00:00 authority-api.j
47 ? 00:56:13 java
1519 pts/0 00:00:00 bash
1549 pts/0 00:00:00 ps
work@authority-api-v1-6944b5848b-6x5d2:~$
显示所有进程信息,连同命令行
work@authority-api-v1-6944b5848b-6x5d2:~$ ps -ef
UID PID PPID C STIME TTY TIME CMD
work 1 0 0 Feb15 ? 00:00:00 /bin/sh -c PROJECT_DIR=/home/work/www/authority-api $PROJECT_DIR/bin/bootstrap run
work 6 1 0 Feb15 ? 00:00:00 /bin/bash /home/work/www/authority-api/bin/bootstrap run
work 16 6 0 Feb15 ? 00:00:00 /bin/bash /home/work/www/authority-api/bin/..//lib/authority-api.jar run
work 47 16 0 Feb15 ? 00:56:13 /usr/local/openjdk-8/bin/java -Dsun.misc.URLClassPath.disableJarChecking=true -DLOG_PATH=/mnt/
work 1519 0 0 00:56 pts/0 00:00:00 bash
work 1550 1519 0 01:40 pts/0 00:00:00 ps -ef
work@authority-api-v1-6944b5848b-6x5d2:~$
根据 CPU 使用来升序排序
work@authority-api-v1-6944b5848b-6x5d2:~$ ps aux --sort -pcpu
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
work 47 0.8 0.3 7494192 686500 ? Sl Feb15 56:14 /usr/local/openjdk-8/bin/java -Dsun.misc.URLClassPath.disableJarChecking=true -
work 1 0.0 0.0 4280 64 ? Ss Feb15 0:00 /bin/sh -c PROJECT_DIR=/home/work/www/authority-api $PROJECT_DIR/bin/bootstrap
work 6 0.0 0.0 19728 992 ? S Feb15 0:00 /bin/bash /home/work/www/authority-api/bin/bootstrap run
work 16 0.0 0.0 19880 1152 ? S Feb15 0:00 /bin/bash /home/work/www/authority-api/bin/..//lib/authority-api.jar run
work 1519 0.0 0.0 21132 4812 pts/0 Ss 00:56 0:00 bash
work 1555 0.0 0.0 38384 2984 pts/0 R+ 01:45 0:00 ps aux --sort -pcpu
work@authority-api-v1-6944b5848b-6x5d2:~$
根据 内存使用来升序排序
work@authority-api-v1-6944b5848b-6x5d2:~$ ps -aux --sort -pmem
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
work 47 0.8 0.3 7494192 686500 ? Sl Feb15 56:14 /usr/local/openjdk-8/bin/java -Dsun.misc.URLClassPath.disableJarChecking=true -
work 1519 0.0 0.0 21132 4812 pts/0 Ss 00:56 0:00 bash
work 1558 0.0 0.0 38384 3100 pts/0 R+ 01:46 0:00 ps -aux --sort -pmem
work 16 0.0 0.0 19880 1152 ? S Feb15 0:00 /bin/bash /home/work/www/authority-api/bin/..//lib/authority-api.jar run
work 6 0.0 0.0 19728 992 ? S Feb15 0:00 /bin/bash /home/work/www/authority-api/bin/bootstrap run
work 1 0.0 0.0 4280 64 ? Ss Feb15 0:00 /bin/sh -c PROJECT_DIR=/home/work/www/authority-api $PROJECT_DIR/bin/bootstrap
work@authority-api-v1-6944b5848b-6x5d2:~$
我们也可以将它们合并到一个命令,并通过管道显示前10个结果:
work@authority-api-v1-6944b5848b-6x5d2:~$ ps aux --sort -pcpu,+pmem | head -n 3
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
work 47 0.8 0.3 7494192 686500 ? Sl Feb15 56:14 /usr/local/openjdk-8/bin/java -Dsun.misc.URLClassPath.disableJarChecking=true -DLOG_PATH=/mnt/logs/authority-api -server -XX:MaxRAMPercentage=30.0 -XX:InitialRAMPercentage=30.0 -XX:MinRAMPercentage=30.0 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/mnt/logs/authority-api/jvm -XX:ErrorFile=/mnt/logs/authority-api/jvm/jvm_err.log -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:ConcGCThreads=2 -XX:ParallelGCThreads=2 -XX:+ScavengeBeforeFullGC -XX:+CMSScavengeBeforeRemark -XX:+CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=1 -XX:GCLogFileSize=50M -verbose:gc -XX:+PrintHeapAtGC -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+PrintGCApplicationStoppedTime -Xloggc:/mnt/logs/authority-api/jvm/gc.log -javaagent:/usr/local/jmx-exporter/jmx_prometheus_javaagent-0.14.0.jar=9990:/usr/local/jmx-exporter/prometheus-jmx-config.yaml -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -jar /home/work/www/authority-api/lib/authority-api.jar --server.address=0.0.0.0 --spring.config.location=/home/work/www/authority-api/conf/ --spring.profiles.active=testing --logging.config=/home/work/www/authority-api/conf/log4j2.yml
work 1 0.0 0.0 4280 64 ? Ss Feb15 0:00 /bin/sh -c PROJECT_DIR=/home/work/www/authority-api $PROJECT_DIR/bin/bootstrap run
work@authority-api-v1-6944b5848b-6x5d2:~$
引用