温习(十一)Linux 进程管理

1、神器 TOP 命令

动态刷新试试看当前的系统运行状态。

 

 

 

top 第一排 内容 解释
top 表示当前程序的名称
11:05:18 表示当前的系统的时间
up 8 days,17:12 表示该机器已经启动了多长时间
1 user 表示当前系统中只有一个用户
load average: 0.29,0.20,0.25 分别对应1、5、15分钟内cpu的平均负载

内容 解释
top 表示当前程序的名称
11:05:18 表示当前的系统的时间
up 8 days,17:12 表示该机器已经启动了多长时间
1 user 表示当前系统中只有一个用户
load average: 0.29,0.20,0.25 分别对应1、5、15分钟内cpu的平均负载

  • 若是 load < 0.7 并不会去关注他;
  • 若是 0.7< load < 1 的时候我们就需要稍微关注一下了,虽然还可以应付但是这个值已经离临界不远了;
  • 若是 load = 1 的时候我们就需要警惕了,因为这个时候已经没有更多的资源的了,已经在全力以赴了;
  • 若是 load > 5 的时候系统已经快不行了,这个时候你需要加班解决问题了

top 的第二行数据,基本上第二行是进程的一个情况统计

内容 解释
Tasks: 26 total 进程总数
1 running 1个正在运行的进程数
25 sleeping 25个睡眠的进程数
0 stopped 没有停止的进程数
0 zombie 没有僵尸进程数

 

top 的第三行数据,这一行基本上是 CPU 的一个使用情况的统计了

内容 解释
Cpu(s): 1.0%us 用户空间进程占用CPU百分比
1.0% sy 内核空间运行占用CPU百分比
0.0%ni 用户进程空间内改变过优先级的进程占用CPU百分比
97.9%id 空闲CPU百分比
0.0%wa 等待输入输出的CPU时间百分比
0.1%hi 硬中断(Hardware IRQ)占用CPU的百分比
0.0%si 软中断(Software IRQ)占用CPU的百分比
0.0%st (Steal time) 是 hypervisor 等虚拟服务中,虚拟 CPU 等待实际 CPU 的时间的百分比

 

top 的第四行数据,这一行基本上是内存的一个使用情况的统计了:

内容 解释
8176740 total 物理内存总量
8032104 used 使用的物理内存总量
144636 free 空闲内存总量
313088 buffers 用作内核缓存的内存量

 

top 的第五行数据,这一行基本上是交换区的一个使用情况的统计了

内容 解释
total 交换区总量
used 使用的交换区总量
free 空闲交换区总量
cached 缓冲的交换区总量,内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖

 

进程的一个情况了

列名 解释
PID 进程id
USER 该进程的所属用户
PR 该进程执行的优先级 priority 值
NI 该进程的 nice 值
VIRT 该进程任务所使用的虚拟内存的总数
RES 该进程所使用的物理内存数,也称之为驻留内存数
SHR 该进程共享内存的大小
S 该进程进程的状态: S=sleep R=running Z=zombie
%CPU 该进程CPU的利用率
%MEM 该进程内存的利用率
TIME+ 该进程活跃的总时间
COMMAND 该进程运行的名字

注意

NICE 值叫做静态优先级,是用户空间的一个优先级值,其取值范围是-20至19。这个值越小,表示进程”优先级”越高,而值越大“优先级”越低。
nice值中的 -20 到 19,中 -20 优先级最高, 0 是默认的值,而 19 优先级最低

PR 值表示 Priority 值叫动态优先级,是进程在内核中实际的优先级值,
进程优先级的取值范围是通过一个宏定义的,这个宏的名称是 MAX_PRIO,它的值为 140。
Linux 实际上实现了 140 个优先级范围,取值范围是从 0-139,这个值越小,优先级越高。而这其中的 0 - 99

 

top常用交互命令 解释
q 退出程序
I 切换显示平均负载和启动时间的信息
P 根据CPU使用百分比大小进行排序
M 根据驻留内存大小进行排序
i 忽略闲置和僵死的进程,这是一个开关式命令
k 终止一个进程,系统提示输入 PID 及发送的信号值。一般终止进程用 15 信号,不能正常结束则使用 9 信号。安全模式下该命令被屏蔽。

 

PS 命令

ps  -aux 

 

 

 


内容 解释
F        进程的标志(process flags),当 flags 值为 1 则表示此子程序只是 fork 但没有执行 exec,为 4 表示此程序使用超级管理员 root 权限
USER 进程的拥有用户
PID 进程的 ID
PPID 其父进程的 PID
SID session 的 ID
TPGID 前台进程组的 ID
%CPU 进程占用的 CPU 百分比
%MEM 占用内存的百分比
NI 进程的 NICE 值
VSZ 进程使用虚拟内存大小
RSS 驻留内存中页的大小
TTY 终端 ID
S or STAT 进程状态
WCHAN 正在等待的进程资源
START 启动进程的时间
TIME 进程消耗CPU的时间

COMMAND   命令的名称和参数

 

ps -axjf 

 

 

 

 

内容     解释
F         进程的标志(process flags),当 flags 值为 1 则表示此子程序只是 fork 但没有执行 exec,为 4 表示此程序使用超级管理员 root 权限
USER       进程的拥有用户
PID      进程的 ID
PPID      其父进程的 PID
SID      session 的 ID
TPGID    前台进程组的 ID
%CPU     进程占用的 CPU 百分比
%MEM    占用内存的百分比
NI       进程的 NICE 值
VSZ      进程使用虚拟内存大小
RSS      驻留内存中页的大小
TTY       终端 ID
S or STAT   进程状态
WCHAN      正在等待的进程资源
START        启动进程的时间
TIME      进程消耗CPU的时间
COMMAND   命令的名称和参数

TPGID栏写着-1的都是没有控制终端的进程,也就是守护进程

 

 


STAT表示进程的状态,而进程的状态有很多,如下表所示

状态 解释
R   Running.运行中
S   Interruptible Sleep.等待调用
D   Uninterruptible Sleep.不可中断睡眠
T   Stoped.暂停或者跟踪状态
X   Dead.即将被撤销
Z    Zombie.僵尸进程
W   Paging.内存交换
N   优先级低的进程
<   优先级高的进程
s   进程的领导者
L   锁定状态
l    多线程状态
+   前台进程

 

ps -l

显示登录bas相关进程

 

posted @ 2020-02-11 18:42  菜菜920  阅读(116)  评论(0编辑  收藏  举报