1、ps命令
ps能够给出当前系统中进程的快照。它能捕获系统在某一事件的进程状态
命令参数:
a 显示所有进程
-a 显示同一终端下的所有程序
-A 显示所有进程
c 显示进程的真实名称
-N 反向选择
-e 等于“-A”
e 显示环境变量
f 显示程序间的关系
-H 显示树状结构
r 显示当前终端的进程
T 显示当前终端的所有程序
u 指定用户的所有进程
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的行程
-C<命令> 列出指定命令的状况
--lines<行数> 每页显示的行数
--width<字符数> 每页显示的字符数
--help 显示帮助信息
--version 显示版本显示
常用实例&#xff1a;
ps -u root 查看root用户的进程
ps -ef 显示所有进程信息&#xff0c;包括命令行
ps aux 列出目前所有的正在内存当中的程序
ps -aux --sort -pcpu | less 根据CPU使用升序排序
ps-aux --sort -pmem | less 根据内存使用大小排序
[root&#64;localhost ~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
smmsp 3521 0.0 0.7 6556 1616 ? Ss 20:40 0:00 sendmail: Queue runner&#64;01:00:00 f
root 3532 0.0 0.2 2428 452 ? Ss 20:40 0:00 gpm -m /dev/input/mice -t imps2
htt 3563 0.0 0.0 2956 196 ? Ss 20:41 0:00 /usr/sbin/htt -retryonerror 0
htt 3564 0.0 1.7 29460 3704 ? Sl 20:41 0:00 htt_server -nodaemon
root 3574 0.0 0.4 5236 992 ? Ss 20:41 0:00 crond
xfs 3617 0.0 1.3 13572 2804 ? Ss 20:41 0:00 xfs -droppriv -daemon
root 3627 0.0 0.2 3448 552 ? SNs 20:41 0:00 anacron -s
root 3636 0.0 0.1 2304 420 ? Ss 20:41 0:00 /usr/sbin/atd
dbus 3655 0.0 0.5 13840 1084 ? Ssl 20:41 0:00 dbus-daemon-1 --system
ps aux显示项解析&#xff1a;
USER 用户名
UID 用户ID&#xff08;User ID&#xff09;
PID 进程ID&#xff08;Process ID&#xff09;
PPID 父进程的进程ID&#xff08;Parent Process id&#xff09;
SID 会话ID&#xff08;Session id&#xff09;
%CPU 进程的cpu占用率
%MEM 进程的内存占用率
VSZ 进程所使用的虚存的大小&#xff08;Virtual Size&#xff09;
RSS 进程使用的驻留集大小或者是实际内存的大小&#xff0c;Kbytes字节
TTY 与进程关联的终端&#xff08;tty&#xff09;
STAT 进程的状态&#xff1a;进程状态使用字符表示的&#xff08;STAT的状态码&#xff09;
R 运行 正在运行或在运行队列中等待
S 睡眠 休眠中, 受阻, 在等待某个条件的形成或接受到信号
I 空闲
Z 僵死 进程已终止, 但进程描述符存在
D 不可中断 收到信号不唤醒和不可运行, 进程必须等待直到有中断发生。
T 终止 进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行。
P 等待交换页
W 无驻留页 没有足够的记忆体分页可分配。
X 死掉的进程
<高优先级进程 高优先序的进程
N 低优先 级进程 低优先序的进程
L 内存锁页 有记忆体分页分配并缩在记忆体内
s 进程的领导者&#xff08;在它之下有子进程&#xff09;&#xff1b;
l 多进程的&#xff08;使用 CLONE_THREAD, 类似 NPTL pthreads&#xff09;
&#43; 位于后台的进程组
START 进程启动时间和日期
TIME 进程使用的总cpu时间
COMMAND 正在执行的命令行命令
2&#xff0c;top命令
[root&#64;localhost ~]# top &#xff08;默认3秒刷新&#xff09;
top - 12:38:33 up 50 days, 23:15, 7 users, load average: 60.58, 61.14, 61.22
Tasks: 203 total, 60 running, 139 sleeping, 4 stopped, 0 zombie
Cpu(s) : 27.0%us, 73.0%sy, 0.0%ni, 90%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1939780k total, 1375280k used, 564500k free, 109680k buffers
Swap: 4401800k total, 497456k used, 3904344k free, 848712k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME&#43; COMMAND
4338 oracle 25 0 627m 209m 207m R 0 11.0 297:14.76 oracle
4267 oracle 25 0 626m 144m 143m R 6 7.6 89:16.62 oracle
3458 oracle 25 0 672m 133m 124m R 0 7.1 1283:08 oracle
3478 oracle 25 0 672m 124m 115m R 0 6.6 1272:30 oracle
3395 oracle 25 0 672m 122m 113m R 0 6.5 1270:03 oracle
3480 oracle 25 0 672m 122m 109m R 8 6.4 1274:13 oracle
3399 oracle 25 0 672m 121m 110m R 0 6.4 1279:37 oracle
TOP前五行统计信息
统计信息区前五行是系统整体的统计信息。
1. 第一行是任务队列信息
同 uptime 命令的执行结果一样
13:22:30 up 8 min, 7 users, load average: 0.14, 0.38, 0.25
其内容如下&#xff1a;
12:38:33 | 当前时间 |
up 50days | 系统运行时间 |
7 user | 当前登录用户数 |
load average: 0.06, 0.60, 0.48 | 系统负载&#xff0c;即任务队列的平均长度。三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。 |
2. 第二、三行为进程和CPU的信息
当有多个CPU时&#xff0c;这些内容可能会超过两行。内容如下&#xff1a;
Tasks: 203 total | 进程总数 |
60 running | 正在运行的进程数 |
139 sleeping | 睡眠的进程数 |
4 stopped | 停止的进程数 |
0 zombie | 僵尸进程数 |
Cpu(s): 27%us | 用户空间占用CPU百分比 |
73.0% sy | 内核空间占用CPU百分比 |
0.0% ni | 用户进程空间内改变过优先级的进程占用CPU百分比 |
90% id | 空闲CPU百分比 |
0.0% wa | 等待输入输出的CPU时间百分比 |
|
|
|
|
3. 第四五行为内存信息。
内容如下&#xff1a;
Mem: 191272k total | 物理内存总量 |
173656k used | 使用的物理内存总量 |
17616k free | 空闲内存总量 |
22052k buffers | 用作内核缓存的内存量 |
Swap: 192772k total | 交换区总量 |
0k used | 使用的交换区总量 |
192772k free | 空闲交换区总量 |
123988k cached | 缓冲的交换区总量&#xff0c;内存中的内容被换出到交换区&#xff0c;而后又被换入到内存&#xff0c;但使用过的交换区尚未被覆盖&#xff0c;该数值即为这些内容已存在于内存中的交换区的大小。相应的内存再次被换出时可不必再对交换区写入 |
进程信息解释&#xff1a;
列名 | 含义 |
PID | 进程id |
PPID | 父进程id |
RUSER | Real user name |
UID | 进程所有者的用户id |
USER | 进程所有者的用户名 |
GROUP | 进程所有者的组名 |
TTY | 启动进程的终端名 |
PR | 优先级 |
NI | nice值&#xff0c;负值表示高优先级&#xff0c;正值表示低优先级 |
P | 最后使用的CPU&#xff0c;仅在多CPU环境下有意义 |
%CPU | 上次更新到现在的CPU时间占用百分比 |
TIME | 进程使用的CPU时间总计&#xff0c;单位秒 |
TIME&#43; | 进程使用的CPU时间总计&#xff0c;单位1/100秒 |
%MEM | 进程使用的物理内存百分比 |
VIRT | 进程使用的虚拟内存总量&#xff0c;单位kb。VIRT&#61;SWAP&#43;RES |
SWAP | 进程使用的虚拟内存中&#xff0c;被换出的大小&#xff0c;单位kb |
RES | 进程使用的、未被换出的物理内存大小&#xff0c;单位kb RES&#61;CODE&#43;DATA |
CODE | 可执行代码占用的物理内存大小&#xff0c;单位kb |
DATA | 可执行代码以外的部分(数据段&#43;栈)占用的物理内存大小&#xff0c;单位kb |
SHR | 共享内存大小&#xff0c;单位kb |
nFLT | 页面错误次数 |
nDRT | 最后一次写入到现在&#xff0c;被修改过的页面数 |
S | 进程状态 D&#61;不可中断的睡眠状态 R&#61;运行 S&#61;睡眠 T&#61;跟踪/停止 Z&#61;僵尸进程 |
COMMAND | 命令名/命令行 |
WCHAN | 若该进程在睡眠&#xff0c;则显示睡眠中的系统函数名 |
Flags | 任务标志&#xff0c;参考 sched.h |