0 目录
文章目录
1 进程查询命令
1.1 命令ps
命令ps,用于显示当前时刻(非动态显示,类似于快照)所有进程状态
格式:ps [options]
它的选项有3种风格,unix风格的选项必须加“-”;BSD风格的不能加“-”;长选项为“–”。
常用选项:
选项 | 意义 |
---|---|
a | 查看所有与终端相关1的进程 |
x | 查看所有与终端无关的进程 |
u | 以用户划分来显示进程 |
-e | 显示所有进程,相当于ax |
-f | 显示更完整(full)的格式 |
-F | 几乎同“-f”,多显示了个别字段 |
-H | 以层级结构(hierarchy,这里指进程父子关系)显示各进程 |
o或-o | 自定义显示指定字段 |
查询结果各字段2:
字段 | 意义 |
---|---|
PID | 进程号 |
TTY | 进程所运行在的终端 |
USER | 运行进程的用户 |
%CPU或C | CPU占用比例 |
%MEM | 内存占用比例 |
VSZ或VIRT | 虚拟内存集(Virtual memory size) |
RSS或RES | 常驻内存集3(Resident Size) |
SHR | 共享内存大小 |
STAT或S | 进程状态4 |
START | 开始运行的时间 |
TIME或TIME+ | 进程累积占用CPU的时长 |
CMD或COMMAND | 发起进程的命令 |
PR | 优先级(priority) |
PPID | 父进程号 |
直接查看效果:
[root@localhost ~]% ps
PID TTY TIME CMD
2770 pts/1 00:00:00 bash
2976 pts/1 00:00:00 ps
使用常用选项组合的效果:
[root@localhost ~]% ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 19352 1548 ? Ss 16:07 0:02 /sbin/init
root 2 0.0 0.0 0 0 ? S 16:07 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 16:07 0:00 [migration/0]
root 4 0.0 0.0 0 0 ? S 16:07 0:00 [ksoftirqd/0]
……
root 2138 0.0 0.0 4064 540 tty2 Ss+ 16:08 0:00 /sbin/mingetty /dev/tty2
root 2140 0.0 0.0 4064 540 tty3 Ss+ 16:08 0:00 /sbin/mingetty /dev/tty3
root 2142 0.0 0.0 4064 544 tty4 Ss+ 16:08 0:00 /sbin/mingetty /dev/tty4
……
# 可看到与终端无关的进程TTY字段为“?”
# COMMAND字段带中括号的表示是内核发起的线程
[root@localhost ~]% ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 16:07 ? 00:00:02 /sbin/init
root 2 0 0 16:07 ? 00:00:00 [kthreadd]
root 3 2 0 16:07 ? 00:00:00 [migration/0]
……
[root@localhost ~]% ps -eFH
……
[root@localhost ~]% ps -eo pid,ni,priority,comm | head -5
PID NI PRI COMMAND
1 0 20 init
2 0 20 kthreadd
3 - -100 migration/0
4 0 20 ksoftirqd/0
[root@localhost ~]% ps axo pid,ni,priority,comm | head -5
PID NI PRI COMMAND
1 0 20 init
2 0 20 kthreadd
3 - -100 migration/0
4 0 20 ksoftirqd/0
# 使用“o”或“-o”选项指定显示的字段,如pid、nice值、优先级、发起进程的命令。限于篇幅仅显示前5行
1.2 命令top
命令top,用于动态地查看当前系统上的进程信息(类似windows任务管理器)。
查看效果:
top - 10:47:23 up 30 min, 1 user, load average: 0.06, 0.03, 0.05
Tasks: 134 total, 1 running, 133 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.2%sy, 0.0%ni, 99.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1012080k total, 351680k used, 660400k free, 31760k buffers
Swap: 2031612k total, 0k used, 2031612k free, 120852k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2519 root 20 0 15032 1244 936 R 0.3 0.1 0:00.10 top
1 root 20 0 19352 1540 1228 S 0.0 0.2 0:02.00 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:00.01 migration/0
4 root 20 0 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0
……
首部内容意义(按位置对应):
当前时间及终端运行时长 | 登陆至当前系统的用户数 | 平均负载(load average) |
进程总数 | 处于运行状态的进程数 | 处于睡眠状态的进程数 | 处于停止状态的进程数 | 处于僵尸状态的运行数 |
用户(user)进程的CPU占用时间比例 | 内核进程的CPU占用时间比例 | 用于调整nice值的CPU占用时间比例 | 空闲(idle)时间比例 | 等待I/O完成所站CPU时间比例 | 处理硬中断(hardware interrupt)所占CPU时间比例 | 处理软中断所占CPU时间比例 | 虚拟化程序所占CPU时间比例(被视为“偷走”stolen的时间) |
内存总大小 | 内存已用大小 | 内存空闲大小 | 内存缓冲区大小 |
交换内存总大小 | 交换内存已用大小 | 交换内存空闲大小 | 交换内存缓存大小 |
其中第1行的“平均负载”表示过去1、5、15分钟的平均等待CPU运行的进程队列长度。
首部下方各字段意义见上述表格
显示内容是交互式的,用户可通过快捷键调整、操作显示结果。常用快捷键:
快捷键 | 意义 |
---|---|
s | 更改显示内容的刷新时间间隔,默认是3秒 |
k | 终止指定进程(实际就是向指定进程发15号信号) |
1 | 每颗CPU信息分别显示 |
l | 开启或隐藏首行信息(即uptime信息) |
t | 开启或隐藏CPU信息(第2、3行) |
m</ |