RedHat Linux 管理系统中的进程
进程的分析
含义:
• 程序是静态的文件
• 进程是运行中的程序的一个副本
• 进程存在生命周期(准备期,运行期,终止期)
进程的状态
状态 | 定义 |
---|---|
R(TASK_RUNNING) | 可执行状态(RUNNING,READY) |
S(TASK_INTERRUPTIBLE) | 可唤醒睡眠状态 |
D (TASK_UNINTERRUPTIBLE) | 不可唤醒睡眠状态 |
T(TASK_STOPPED) | 暂停状态 |
z( EXIT_ZOMBIE) | 僵死态 |
进程查看
命令 “pstree” 可以查看当前的所有进程
可以看到使用pstree查看的进程是用树状图来呈现给我们,但是我们大多时候这样看时比较麻烦的,所以另一种 “ps” 命令来进行查看。
首先我们先了解一下ps命令的参数有哪些
参数 | 含义 |
---|---|
a | 显示与终端相关进程(BSD) |
x | 显示所有与终端无关进程(BSD) |
u | 以用户为归类来显示进程状态信息(BSD) |
f | 层级结构显示进程信息 |
o | 指定查看选项,pid,comm,nice,pri,pcpu,stat,ppid |
-e | 显示所有进程(uinx) |
-f | 显示完整格式信息(unix) |
-H | 层级结构显示进程的相关信息 |
-o | 指定查看选项,pid,comm,nice,%cpu,%mem,nice |
了解之后我们来实验看看
以上就是展示了部分参数的用法和效果,可以看到结果都是用列表展示的,这些表格每列都代表什么呢?下面我们权限说明一下
字段 | 解释 |
---|---|
USER | 用户名称 |
PID | 进程id |
%CPU | cpu用量百分比 |
%MEM | 内存用量百分比 |
VSZ | 占用虚拟内存大小 |
RSS | 常驻内存集大小 |
TTY | 字符终端 |
STAT | 进程状态 |
START | 运行时间 |
TIME | 占用cpu时间 |
COMMAND | 进程名称 |
这些列表的名称我们用筛选信息参数 “o” “-o” 时,加在后面查看信息,例:
[aaa@qq.com Desktop]# ps o user,pid,comm,%cpu
[aaa@qq.com Desktop]# ps -o user,pid,comm,%cpu
此外例如查看cpu使用量或内存使用量时,他们都是有数值的,所以我们加额外的参数使参看时可以按照顺序或倒序来排列,这个参数就是 "–sort=参数” "–sort=-参数” ,具体的使用方法如下:
[aaa@qq.com Desktop]# ps o pid,nice,comm,uid,%cpu,%mem --sort=%mem
[aaa@qq.com Desktop]# ps o pid,nice,comm,uid,%cpu,%mem --sort=-%mem
参数前加 “-” 表示倒序展示,效果如下
pgrep 命令
当我们想要更精确的查看某类进程或某个用户的进程,我们使用pgrep命令,首先我们了解它的参数
参数 | 用途 |
---|---|
-u(加uid) | 显示指定用户进程 |
-U(加用户名) | 显示指定用户进程 |
-t(加tty) | 显示指定用户进程 |
-l | 显示进程名称 |
-a | 显示完整格式进程名 |
-P(加pid) | 显示指定进程的子进程 |
我们来展示一下部分效果
pidof 命令
根据进程名称查看pid
例:打开一个gedit
在另一个shell界面输入pidof gefit
[aaa@qq.com Desktop]# gedit aaa
[aaa@qq.com Desktop]# pidof gedit
4517
这个pid就是刚开进程的pid
除此之外还有一个方法查看打开的进程信息
命令:ps aux | grep 名称
top
top类似windows里的任务管理器,展示了系统运行的cpu,mem,运行的进程实时状态
先来了解top内部的参数和top命令的参数
内部参数 | 用途 |
---|---|
P | cpu百分比排序 |
M | 内存百分比排序 |
T | 累计占用cpu时间排序 |
l | 开启/关掉uptime信息 |
t | 开启/关闭task&cpu信息 |
s | 调整刷新频率 |
k | 终止进程 |
u | 查看指定用户进程 |
因为这些参数的效果不是很突出适合展示,所以还是在个人实操中体验
top命令参数 | 用途 |
---|---|
-d | 指定刷新间隔 |
-b | 以批次方式显示 |
-n | 显示批次数量 |
此参数展示效果同上,简单说明一下-b参数就是将每一批刷新出的数据展示在你的shell界面上,一直累加。-n后面加数字,效果就是top共刷新几次后停止。
top界面详细信息解释
第一行:
top 系统当前时间,up 系统运行时常,user 登录当前系统的用户数量,load average 平均负载 1分钟、5分钟、15 分钟的队列长度(uptime)
第二行:
task 任务,包含了总任务,运行中的,休眠的,停止的,僵死的
第三行:
%cpu cpu占用百分比
• us 用户空间
• sy 内核空间
• ni nice调整时间
• id 空闲时间
• wa 等待io
• hi 处理硬件中断
• si 处理软件中断
• st 被虚拟化程序占用的百分比
第四行:
mem 物理内存,包括总量,空闲量,使用量,可回收量
第五行:
swap 交换分区占用
再往下就是进程信息展示
进程优先级
进程按照资源占用划分进程类型
资源使用量 | 进程类型 |
---|---|
cpu使用密集 | CPU-Bound |
I/O使用密集 | I/O-Bound |
进程优先级范围的划分:
- 对Linux而言优先级被划分成固定个数(0-139)
- 1-99为实时有优先级,数字越大优先级越高,不用手动处理系统自用
- 100-139为静态优先级,数字越小优先级越高
N ICE值
- NICE值:-20~19对应进程优先级
- 普通用户只可以调低优先级,超级用户任意调整
优先级的命令:
• ps ax –o nice,pid,comm
• nice –n 优先级 程序
• reince –n 优先级 程序pid
命令效果展示
我们开启cat程序,打开另一个shell,使用命令和管道过滤cat程序的进程
看到目前cat程序的nice值是0,我们现在修改看看结果
修改后从原来的0,改变位5。
此外我们可以在程序开启是直接设置nice值
这样就不需要我们在开启程序后再次去设置一次,命令中出现的&符号表示开启程序,但运行在后台,防止程序占用当前的界面。
未完待续。。。
推荐阅读
-
在Linux系统中为Firefox安装最新版flash插件的方法
-
VMware Workstation/Fusion 中安装 Fedora 23/24 及其他 Linux 系统时使用 Open VM Tools 代替 VMware Tools 增强工具的方法
-
Linux中获取某个进程的系统调用以及参数(故障排查案例)
-
Win10 Version 1607中的Linux子系统安装方法详解
-
如何运行openSUSE?Win10中安装SUSE Linux子系统的详细图文教程
-
linux查看进程命令grep(linux中的grep命令的作用 )
-
Linux系统中cd无法进入xargs管道输出的目录
-
Linux系统中fstab文件丢失的恢复方法
-
在Linux系统中创建新的亚马逊AWS访问密钥的方法
-
linux系统中InputStream输入流的方法之reset()和mark()命令的注意事项