进程是资源调用的最小单位; 线程是进程的最小单位。
程序执行流是从上到下贯穿运行的。
当进程是多任务,cpu是多核心,多任务应该同时被每个核心处理,每个核心处理的任务叫线程,线程资源是共享的。
ps命令的三种执行风格,(unix,bsd,GUN)
参数解释a与终端相关的进程x与终端无关的进程u用户信息归类的查看方式f进程层级关系o显示指定参数,(pid,comm,nice,pri,pcpu,ppid,stat,user,group)-e显示所有进程-f显示信息的完整格式-H显示进程的层级结构-o显示指定参数- - sort=排序显示
注意:
UNIX参数带(-)和BSD格式参数不带(-)
ps ax显示信息如下:
参数解释PID进程idTTY进程用到的终端STAT进程状态TIME进程占用cpu时长COMMAND进程名称ps aux显示信息如下:
参数解释USER进程所有人PID进程id%CPU进程使用cpu的用量%MEM进程所用到的内存用量VSZ进程使用的虚拟内存大小RSS进程常驻内存中的数据大小TTY进程用到的终端STAT进程状态START进程运行时长TIME进程占用cpu时长COMMAND进程名称 pgrep 进程过滤 参数解释-u pid显示指定用户进程-U user显示指定用户进程-t tty显示指定终端进程-l显示进程名称-a显示进程的完整名称-P显示进程的子进程pidof vim 查看vim的pid top 动态进程查看
top中的内容显示信息:
09:47:34 系统时间 up 18:23 运行时长 2 users 系统中有两个用户登录 load average: 0.75, 0.53, 0.41 系统的负载,分别代表平均负载1分钟 5分钟 15 分钟的队列长度(uptime)Tasks:
331 total 任务总量 3 running 正在运行 329 sleeping 休眠任务数量 0 stopped 被暂停数量 0 zombie 僵死任务数量%Cpu(s):
参数解释1.5 us用户空间1.9 sy内核空间0.0 ninice值调整时间58.9 id空闲时间0.0 wa等待io时间2.1 hi处理硬件中断时间0.2 si处理软件中断时间0.0 st被偷走的时间(vm使用时间)MiB Mem:
参数解释7664.6 total总量5383.9 free空闲1312.1 used占用968.8 buff/cache缓存MiB Swap:交换分区用量
top命令的参数: -d 指定刷新频率 -b 以批次方式显示 -n 指定显示的批次数量
top内部命令: M 内存排序 T 累计占用cpu排序 l 关闭/开启uptime信息 t 关闭/开启cpu&task s 指定刷频率 k 操作进程 u 查看指定用户进程
解释: PID 进程id USER 进程所有者的用户名 PR 优先级 NI nice值,负值表示高优先级,正值表示低优先级 VIRT 进程使用的虚拟内存总量,单位kb。VRIT=SWAP+RES SHR 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA S 进程状态 %CPU 上次更新到现在的CPU使用时间占用百分比 %MEM 进程使用的物理内存百分比 TIME 进程使用的CPU时间总计,单位1/100秒 COMMAND 命令名/命令行pstree 命令查看进程树:树形结构显示进程
注意:
因为内核不能负载这么多进程,所以开启守护进程systemd是守护进程对进程进行管理,systemd的作用是对子进程进行初始化,守护进程在系统开启时自动打开。
系统多任务多用户时的操作模式
任务的重要性是有区分的, 如何确定任务的重要性。 “优先级”: 范围:0-139 内核自控优先级范围:0-99 用户可用优先级:100-139
nice: -10-19
renice -n -5 43331 更改优先级 nice -n -5 cat 指定优先级打开进程
ps - - - > pri - - - 0-39 nice -20-19 priority 0-139 解释: S sleeping < 优先级高 s 顶级进程 T stop N 优先级低 R running + 运行在前台
实验环境:需要两台主机
远程操作主机: ssh 远程主机ip -l 远程主机用户
守护进程: 替内核分担程序控管的程序 通常pid为1
systemed - - - > systemctl systemctl管理系统服务 服务指在系统中开启的共享系统资源到网络中的程序 cs client - - - > serversystemctl命令的用法:
start 开启 stop 关闭 status 查看状态 reload 重新加载 restart 重新启动服务 enable 设定服务开机启动 enable --now 设定服务开机启动并且当前开启服务 disable 设定服务开机不启动 list-units 查看系统所有服务当前状态 list-unit-files 查看服务开机状态 list-dependencies列出服务依赖性 mask 冻结服务 unmask 解冻服务 set-default 设定系统运行模式 multi-user.target 无图形网络模式 graphical.target 有图形网络模式 get-default 查看系统运行模式 0-6 0 POWEROFF 1 single 2 noG+NETWORK 3 4 G+NETWORK 5 REBOOTstatus:
stop:
disable:
enable --now:
list-units:
list-unit-files:
list-dependencies:
mask&unmask:
get-default:
set-default: