Linux 进程管理(top,ps,tree,kill)

目的

掌握linux提供的工具来进行进程的查看与控制(top,ps,pstree),掌握这些工具能让我们在某些进程出现异常的时候及时查看相关的指标,从而解决问题。


学习目录

1.查看进程的运行状态
1.2top工具的使用
1.3ps工具的使用
1.4pstree工具的使用
2.进程管理
2.1kill命令的掌握与使用
2.2进程的执行顺序查看与修改


1.查看进程的运行状态

通过top实时查看进程的状态,以及系统的一些信息。
通过ps静态查看当前的进程信息。
通过 pstree查看当前活跃进程的树形结构。


1.2top工具的使用

查看一些进程的状态及系统信息。
输入命令top可以看到以下信息

top命令是一个前台程序是可以交互的:
q    退出程序
I    切换显示平均负载和启动时间的信息
P    更具cpu使用百分比大小进行排序
M    根据驻留内存大小进行排序
i    忽略闲置和僵死的进程,这是一个开关式的命令
k    终止一个进程,系统提示输入PID及发送的信号值,一般终止的信号值是15,强制终止的信号值是9    

在这里插入图片描述

第一行:机器情况
top    表示当前程序的名称
11:24:08    表示当前的系统时间
up 34 days,7:10    表示该机器已启动多长时间
1 user    表示当前只有1个用户
load average: 0.24 0.14 0.10    分别对应1,5,15分钟内cpu的平均负载
                       #load average解释:对当前cpu工作量的度量,指运行队列的平均长度。
                       #load 的4种显示(假设当前是单cpu,单内核)
                       #1.load = 0    表示cpu没有任务
                       #2.load < 1    cpu任务不多,资源充足
                       #3.load = 1    cpu任务已满,所有资源被使用,但还在能力范围之内
                       #4.load > 1    cpu任务已满,所有资源被使用,还有大量进程在请求)
第一行补充:
  查看cpu信息
cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l    #查看物理cpu个数
cat /proc/cpuinfo | grep "physical id" | grep "0" | wc -l    #每个cpu的核心数
  现实运维中会将load的临界值设定为0.7,load超过0.7就需要关注它,超过5就需要加班解决问题了。
  一般会先看15分钟的大趋势,再对比5分钟看看是否有下降。  
第二行:进程情况
Tasks:31 total     进程总数
1 running    1个正在运行的进程数
30 sleeping    30个睡眠的进程数
0 stopped    没有停止的进程数
0 zombie    没有僵尸进程(不会占用PID)
第三行:cpu使用情况
%Cpu(s): 3.8us    用户空间进程占用cpu百分比
0.8% sy    内核空间运行占用cpu百分比
0.0# ni    用户进程空间内改变过优先级的进程占用cpu百分比
95.3 id    空闲cpu百分比
0.0% wa    等待输入输出的cpu时间的百分比
0.0% hi    硬中断占用cpu的百分比
0.1 si    软中断占用cpu时间的百分比
0.0% st    虚拟cpu等待实际cpu的时间的百分比
第四行:内存情况
16425212 total    物理内存总量
7387528 free    空闲内存总量
1071400 used    使用的物理内存总量
7966284 buff/cache    用作内核缓存的内存量
第五行:交换区情况
969964 total    交换区总量
933952 free    空闲的交换区总量
1071400 used    使用的交换区总量
14746088 cache Mem    缓冲的交换区总量
第六行:进程概览
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,这个值越小,表示进程“优先级”越大,值越大,“优先级”越小。 0是默认的值
  PR值表式Priority值,叫动态优先级。是进程在内核中实际的优先值。
  进程优先值的取值范围是通过一个宏定义的,这个宏名称是MAX_PRIO,它的值为140。
  取值范围是0——139,这个值越小优先级越高。这其中0——99是实时进程的值,100——139是给用户的值。

参考网址


1.3ps工具的使用

ps是常用的查看进程的工具之一。
常用命令:ps -l ps -afxo ps aux ps axjf
ps -l:显示自己这次登录的bash相关进程信息罗列出来

ps -afxo:自定义所需要的参数显示
例:ps -afxo user,ppid,pid,pgid,command pgid:进程组ID号

ps aux:罗列出所有进程信息,可搭配grep命令和正则表达式使用ps aux | grep zsh在这里插入图片描述
ps axjf:查看时将连同部分的进程呈树状显示出来
在这里插入图片描述

内容含义:
F    进程的标志(process flags),当flags的值为1时,表示此子程序只是fork但没有执行exec,
     为4时表示此程序使用root权限
USER   进程的拥有者
PID    进程的ID
PPID    其父进程的ID
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 不可中断睡眠 无法使用kill命令杀掉D状态的进程,
         一般是进程I/O的时候出现问题
    T    Stoped 暂停或跟踪状态
    X    Dead 即将被撤销
    Z    Zombie 僵尸进程,占用PID
    W    Paging 内存交换
    N    优先级低的内存
    <    优先级高的内存
    s    进程的领导者
    L    锁定状态
    I    多线程状态
    +    前台状态


1.4pstree工具的使用

通过pstree可以直观的看到相同的进程数量,可以看到进程间的相关性
pstree
在这里插入图片描述
pstree -up

-p    同时列出每个process的PID
-u    同时列出每个process的所属账号
-A    各程序树之间以ASCII字元来链接

在这里插入图片描述


2.进程管理

掌握如何去管理进程。


2.1kill命令的掌握与使用

使用kill命令结束进程。
kill [信号值] [进程PID]

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值