本文主要讲解Linux中进程管理的基本命令使用方法.
1. top命令
作用: 动态显示进程状态
格式: top [options]
常用选项:
-d: 后面可以接秒数,就是整个程序画面更新的秒数, 默认是5秒
-b: 以批次的方式执行 top
-p: 指定对某个PID进行观察
字段意义:
top - 23:52:38 up 19:58, 2 users, load average: 0.00, 0.00, 0.00
过去1分钟,5分钟,15分钟的系统平均负载: 如果高于1表示系统繁忙
Tasks: 135 total, 1 running, 134 sleeping, 0 stopped, 0 zombie
显示系统当前进程的种类: running运行态, sleep睡眠态, stopped停止态, zombie僵尸态及其数量
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni, 100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
CPU整体负载: 用户空间 内核空间 nice值 空闲 等待IO完成时间 硬件中断 软件中断 被偷走的时间
Mem: 1906492k total, 414676k used, 1491816k free, 48052k buffers
物理内存使用情况: total内存总量, used:已使用的内存, free:空闲内存, buffers: 缓冲使用的内存
Swap: 2097148k total, 0k used, 2097148k free, 250760k cached
交换内存使用情况, 字段意义同物理内存类似
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
进程字段: PID, 进程发起者, 优先级, nice值, 虚拟内存集, 常驻内存集, 共享内存集, 进程状态, 占用CPU百分比, 占用内存百分比, 进程使用CPU的运行时间, 命令名称
top支持交互命令, 实现对进程指定显示:
h或?: 显示帮助信息
l: 是否显示uptime信息
t: 是否显示tasks及cpu信息
1: 是否显示cpu分别显示
memory信息:m命令
P: 以占用CPU资源排序
M: 以占用内存资源排序
N: 以PID排序
T: 以进程占用CPU累计时间排序
k: 给予某个PID一个signal
r: 给予某个PID重新一个nice
s: 指定刷新时间间隔
2. htop命令
作用: 动态显示进程状态
格式: htop [options]
htop命令是top命令的加强版, 能够更直观动态显示进程信息和更方便的管理进程, 需要另行安装
htop的字段意义和交互命令与top相同, 请参考top命令.
htop命令可以通过F1~10功能键实现对进程的显示和管理
F1: 帮助选项
F2: 用于调整显示属性, 包括显示形式, 字段顺序等
F3: 用于指定关键字搜索进程
F4: 用于指定关键字筛选进程
F5: 通过树状显示进程
F6: 对进程进行指定字段排序
F7和F8: 调整nice值
F9: 关闭指定进程
F10: 退出
3. glances命令
作用: 最大化实时显示当前系统的信息
格式: glances [options]
glances可以实时显示当前系统的cpu,内存和swap的使用情况, 进程的运行情况, 网卡上下行流量, 磁盘的读写速率, 分区空间使用情况, 功能非常强大, 需要另行安装.
glances的字段意义和交互命令与top相同, 请参考top命令.
glances支持交互式命令:
a: 自动方式对进程进行排序
c: 以占用CPU百分比对进程排序
m: 以占用内存百分比对进程排序
p: 以进程名称对进程排序
i: 以IO速率对进程排序
d: 显示或隐藏磁盘IO信息
f: 显示或隐藏文件系统信息
n: 显示或隐藏网络信息
i: 显示或隐藏日志
h: 显示帮助信息
4. dstat命令
作用: 读取系统资源统计信息的可视化工具, 用于扩展vmstat功能
格式: dstat [options]
选项:
-c: 显示cpu相关信息
-d: 显示disk相关信息
-D total,sda,sdb,... 显示指定磁盘
-g:显示page相关统计数据
-m: 显示memory相关统计数据
-n: 显示network相关统计数据
-p: 显示process相关统计数据
-r: 显示io请求相关的统计数据
-s: 显示swapped相关的统计数据
常用字段意义:
cpu: 占用百分比
usr: 用户占用
sys: 内核占用
idl: 空闲占用
wai: IO等待占用
hiq: 硬件中断占用
siq: 软中断占用
disk total: 磁盘IO
read: 读速率
writ: 写速率
net total: 网络流量
recv: 接收速率
send: 发送速率
paging: 页框速率
in: 页框读入速率
out: 页框读出速率
system: 系统速率
in: interrupts, 中断速率;
cs: context switch, 进程切换速率;
memory: 内存使用情况
swpd: 交换内存的使用总量;
free:空闲物理内存总量;
buffer:用于buffer的内存总量;
cache:用于cache的内存总量;
swap: 交换分区速率
si:数据进入swap中的数据速率(kb/s)
so:数据离开swap中的数据速率(kb/s)
以上就是进程管理常用的基本命令使用方法.
本人水平有限, 如有理解不当的地方, 请大家给予指正, 非常感谢!