一、进程简介
进程是已启动的可执行程序的运行实例,进程有以下组成部分:
·一个文件
·被分配内存的地址空间
·有权限限制
·程序代码的一个或多个副本(也叫执行线程)
·像人一样拥有状态
二、进程管理
1.目标
了解进程的相关信息:
·PID,PPID
·当前的进程状态
·内存的分配情况
·CPU和已经花费的实际时间
·用户UID,它决定进程的特权
·进程名称
(1)什么是程序
具有执行代码的执行权限的文本文件
(2)什么是进程
是运行起来的程序。获得计算机各方面的资源(CPU,MEM,DISK,NETWORK,PID,STAT)
(3)进程的生命周期
由系统程序,fork出来的子进程。具备一定父的资源(权利,内存空间,PID)。直到运行完毕,退出系统。
(4)进程状态
R-run
T-stop
S-sleep
Z-zombie
2.静态查看进程ps
ps anx 输出的字段含义
·USER 运行进程的用户
·PID 进程ID号,底下的 PPID 则父进程的ID;
·%CPU 占用CPU资源百分比
·%MEM 占用物理内存百分比
·VSZ 使用掉的虚拟内存量
·RSS 占用的固定的内存量
·TTY 进程运行的终端。若与终端机无关,则显示 ?,另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序
·STAT 进程状态(D,不可中断;R,运行;S,中断;T,停止;Z,僵死)
·START 该进程被触发启动的时间
·TIME 使用掉的CPU时间
·COMMAND 该进程实际指令
命令参数说明
·ps a 显示现行终端机下的所有程序
·ps u 以用户为主的格式来显示程序状态
·ps x 不以终端机来区分
进程排序:ps aux --sort 字段(字段前不加-号默认升序,加-号表示降序)
进程的父子关系:ps -ef
自定义显示字段:ps axo 字段名称
3.动态查看进程top
上半部分:
第一行:程序名-系统时间 运行时间 登录用户 CPU负载:
第二行:总进程数 运行数 睡眠数 停止数 僵死数
第三行:CPU使用占比 us用户 sy系统 ni优先级 id空闲 wa等待 hi硬件 si软件 st虚拟机
第四行:物理内存K total总共 free空闲 userd使用 cache缓存硬盘内容
第五行:交换区 total总共 free空闲 userd使用 可用于下一次分配的物理内存数量
下半部分:
· 输出字段含义:
PID:进程ID
USER:运行进程的用户
PR:系统优先级
NI:nice值
VIRT:进程使用的虚拟内存总量
RES:进程使用的、未被换出的物理内存大小
SHR:共享内存大小
S:进程状态
%CPU:占用CPU资源百分比
%MEM:占用物理内存百分比
TIME+:进程使用的CPU时间总计
COMMAND:该进程实际指令
top常用内部指令:
·h|?帮助
·M按内存的使用排序
·P按CPU使用排序
·N以PID的大小排序
<向前
>向后
z彩色,Z设置彩色,使用数字调整
4.使用信号控制进程(kill)
信号种类:列出常见的八种(其他的可用kill -l 查看)
1)SIGHUP 重新加载
2)SIGINT 键盘中断 Ctrl+c
3)SIGQUIT 键盘退出Ctrl+\,类似SIGINT
9)SIGKILL 强制终止,无条件
15)SIGTERM 终止(正常结束),缺省信号
18)SIGCONT 继续
19)SIGSTOP 暂停
20)SIGTSTP 键盘暂停Ctrl+z
5.进程优先级nice
简介:
Linux进程调度及多任务
每个CPU在一个时间点上只能处理一个进程,通过时间分片技术,来同时运行多个程序
优先级范围和特性:
·系统中的两种优先级:
在top中显示的优先级有两个,PR值和nice值
NI:实际nice值
PR(+20):将nice级别显示为映射到更大优先级队列,-20映射到0,+19映射到39
·优先级特性:
nice值越大:表示优先级越低,例如+19
nice值越小:表示优先级越高,例如-20
查看进程的nice级别:(ps axo nice)
启动具有不同nice级别的进程:nice -n 优先级 命令
更改现有进程的优先级:renice 优先级 PID