Linux进程管理工具使用指南

释放双眼,带上耳机,听听看~!
本文介绍了Linux系统中的进程管理工具的使用方法,包括进程状态、进程命令集等内容,帮助读者了解如何监控、调整和优化系统中的进程,提高系统运行效率。

上一章掌握Linux系统管理:用户和用户组管理 节我们深入探讨了如何在Linux系统中进行用户和用户组的基本管理操作,包括创建、修改和删除用户与用户组,以及如何赋予用户特定的权限以便他们能够高效地使用系统资源。接下来,我们将视线转向Linux系统内核的另一关键领域——进程管理,了解如何监控、调整以及优化系统中的进程。

知识回顾

【进程】是一个二进制程序的执行过程,在Linux操作中,向命令行输入一条指令,按回车键,便会有一个进程被启动。进程存在于计算机的内存中,计算机内存中可同时存在多个进程,每个CPU上同时只会执行一个进程,但计算机上似乎能够同时运行多个进程。实际上,这是因为计算机采用了“多道程序设计”技术。

所谓多道程序设计技术,是指计算机允许多个相互独立的程序同时进入内存,在内核的管理控制之下,相互间穿插运行。多道程序设计必须有硬件基础作为保障。

采用多道程序设计的系统,会将CPU的整个生命周期划分为长度相同的时间片,在每个CPU时间片内只处理一个进程,但CPU划分的时间片是非常微小的,且当下CPU运行速度极快(已达到纳秒级,每秒可执行约10亿条指令),因此在宏观上,可以认为计算机能并发执行多个程序,处理多个进程。

【进程状态】系统中的资源是有限的,进程若要运行,就必须能先获取到足够的资源。多个进程分时复用CPU,当分配给进程的时间片结束后,内核会收回进程对CPU的使用权,因此,进程在内存中可能会出现不同的状态。通常进程的状态被划分为五种:初始态、就绪态、运行态、睡眠态和终止态。初始态和终止态一般不进行讨论,因为当初始化完成后,进程会立刻转化为就绪态;进程运行完毕会立刻转为终止态。

1、就绪态(Ready)

对于 就绪态的进程,所需的其他资源已分配到位,此时只等待CPU,当可以使用CPU时,进程会立刻变为运行态。内核中的进程通常不是唯一的,因此内核会维护一个运行队列,用来装载所有处于就绪态的进程,当CPU空闲时,内核会从队列中选择一个进程,为其分配CPU。

2、运行态(Exectiing)

进程处于运行态时会占用CPU,处于此状态的进程的数目必定≤处理器的数目,即每个CPU上至多能运行一个进程。

3、睡眠态或等待状态(Sleeping)

处于睡眠态的进程会因某种原因而暂时不能占用CPU。睡眠分为不可中断的睡眠和可中断的睡眠。不可中断的睡眠是由外部I/O调用等造成的睡眠,此时该进程正在等待所需I/O资源,即便强制中断睡眠状态,进程仍无法运行,这种睡眠态亦可称为阻塞;当进程处于可中断的睡眠态时,往往是因为进程对应的当前用户请求已处理完毕,因些暂时退出CPU,当用户再次发出请求时,该进程可随时被唤醒,这种睡眠态也被称为挂起。进程通常会在这3种状态中转换,这3种状态间可能发生的转换如下图1-进程状态转换图所示

Linux进程管理工具使用指南

【进程命令集】

Linux进程管理工具使用指南

Linux进程管理工具使用指南

任务准备

  1. 前提条件是Linux操作系统已经正常运行。
  2. 桌面右键打开终端或远程SSH连接操作Linux服务器。
  3. 学会帮助命令,在linux终端,面对命令不知道怎么用,或不记得命令的拼写及参数时,我们需要求助于系统的帮助文档; linux系统内置的帮助文档很详细,通常能解决我们的问题,我们需要掌握如何正确的去使用它们。
  • 在只记得部分命令关键字的场合,我们可通过man -k来搜索;
  • 需要知道某个命令的简要说明,可以使用whatis;而更详细的介绍,则可用info命令;
  • 查看命令在哪个位置,我们需要使用which;
  • 而对于命令的具体参数及使用方法,我们需要用到强大的man;

任务描述

使用进程管理工具,我们可以查询程序当前的运行状态,或终止一个进程;任何进程都与文件关联;我们会用到lsof工具(list opened files),作用是列举系统中已经被打开的文件。在linux环境中,任何事物都是文件,设备是文件,目录是文件,甚至sockets也是文件。用好lsof命令,对日常的linux管理非常有帮助。

1、查询进程

2、终止进程

3、进程监控

4、分析线程栈

5、更改进程的优先级nice

6、pstree以树状图的形式显示系统中的进程,直接观察进程间的派生关系
7、查看占用内存前10的进程

任务实施

1、查询进程命令

[root@localhost creatorblue]# ps -l

2、终止进程

[root@localhost creatorblue]# kill -9 PID

备注:PID:可以通过命令ps -ef|grep 进程名查找

3、进程监控

[root@localhost creatorblue]# top

4、分析线程栈

[root@localhost creatorblue]# #pmap PID

通过ps -ef|grep 进程名查出PID值

5、更改进程的优化级nice

[root@localhost creatorblue]# nice -n 5 bash

6、直接观察进程间的派生关系6、pstree以树状图的形式显示系统中的进程

[root@localhost creatorblue]# pstree -a

7、查看占用内存前10的进程

 ps -aux | sort -k4nr | head -n 10

实验实训

Linux进程管理工具使用指南

Linux进程管理工具使用指南

本网站的内容主要来自互联网上的各种资源,仅供参考和信息分享之用,不代表本网站拥有相关版权或知识产权。如您认为内容侵犯您的权益,请联系我们,我们将尽快采取行动,包括删除或更正。
AI教程

Linux系统管理命令大全:systemd配置与使用指南

2024-10-19 16:35:00

AI教程

GPT Pilot:AI开发者伴侣,全程参与应用开发

2024-10-19 16:47:00

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索