标签:memory 空间 户口本 用户 信息
线性内存和物理内存进程是一个逻辑概念
保存现场
内存分段
用户空间
内核空间:进程的描述信息,户口本
内存分页
TLB
MMU:Memory Management Unit
进程
进程号
用户
内存空间
父进程
CPU time
VSZ:virtual size 虚拟内存
RSS:resident size 常驻内存(不能被交换出去的数据和变量)
多进程模型:
单进程多线程模型:节省内存空间
当一个进程需要加载I/O资源,由于I/O较慢,或者没有事情要去做,会提前释放CPU。
uninterrupted sleep 不可中断的睡眠:外部I/O资源仍未满足,打断睡眠进入CPU资源也无法使用,因为文件仍未加载完成,无法继续运行下去;
interruped sleep 可中断睡眠:例如,睡眠中的数据库,如有用户发起查询请求,则从睡眠总被打断。
zombie:僵尸进程,会导致内存泄漏,占满内存
父子关系
kernel是第一个进程 → init →子进程
优先级关系
优先级0~139
0~99:内核调整
100~139:用户可控制
O标准
O(1)
无论队列多长,查询时间相等,2.6内核,每次扫描140队列,扫描时间相等
O(n)
随着队列的延长,查询时间线性增长
O(logn)
O(n^2)
O(2^n)
优先级高的优势
1)获得的更多的CPU运行时间
2)更优先获得运行机会
进程nice值
范围:-20~19
100~139
只能调大
PID:progress identifier
init:PID=1
pwd
/proc/1
cat cmdline #查看发起进程的命令
/sbin/init
ps:Process State
SysV风格:-
BSD风格:
进程分类:
-au:显示所有与终端有关的进程
-xu:显示与终端无关的进程,不严格区分
进程状态
D:不可中断的睡眠
S:可中断的睡眠
R:运行或就绪
T:停止
Z:僵尸态
<:高优先级进程
N:低优先级进程
+:前台进程组中的进程,前台,从命令行输入的进程和终端相关的
l:多线程进程
s:会话进程的首进程
ps aux
USER | PID | %CPU | %MEN | VSZ | RSS | TTY | STAT | START | TIME | COMMAND |
进程发起者 | | | | 虚拟内存 | 常驻内存 | | | | 实际占用CPU时长 | 进程发起命令 []表示内核进程 |
ps -elF
ps -axo user,pid,vsz,rss,command,cmd,ni,time,tname(TTY NAME)
pstree显示系统进程树
pgrep 查找进程树
pgrep -u root bash
1855
- euid有效id,-U表示发起者
pidod根据进程名显示PID
top
1切换CPU显示模式
us用户空间
sy
top
M: 根据驻留内存大小进行排序
P:根据CPU使用百分比进行排序
T: 根据累计时间进行排序
l: 是否显示平均负载和启动时间
t: 是否显示进程和CPU状态相关信息
m: 是否显示内存相关信息
c: 是否显示完整的命令行信息
q: 退出top
k: 终止某个进程
-d: 指定延迟时长,单位是秒
-b: 批模式
-n #:在批模式下,共显示多少批
top -d 2 -b -n 1 | grep udevd
进程间通信(IPC:Inter Progress Communication)
共享内存:一个进程写进指定内存,一个进程从指定内存读取
信号:Signal
Semophore
重要的信号
1)SIGHUB:让一个进程不用重启就可以重新读取配置文件
2)INT:Interrupt,Ctrl+c中断一个进程
9)SIGKILL:杀死一个进程
15)SIGTERM:终止一个进程,默认
指定一个信号
信号号码:kill -9
信号名称:kill -SIGKILL
信号名称简写:kill -KILL
kill PID
killall COMMAND
调整nice值
进程已经启动
renice NI PID
启动进程时
renice -n NI COMMAND
前台作业:占据了命令提示符
后台作业:启动之后,释放命令提示符,后续的操作在后台完成
前台-->后台:
Ctrl+z: 把正在前台的作业送往后台
COMMAND &:让命令在后台执行
bg: 让后台的停止作业继续运行
bg [[%]JOBID]
jobs: 查看后台的所有作业
作业号,不同于进程号
+:命令将默认操作的作业
-:命令将第二个默认操作的作业
fg: 将后台的作业调回前台
fg [[%]JOBID]
kill %JOBID: 终止某作业
vmstat n m
n:显示的间隔
m:显示的次数
vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 811604 39656 48448 0 0 3 0 7 7 0 0 100 0 0
- 运行队列长度 交换空间 磁盘进入内存 进入内存 中断
- 阻塞队列长度 内存进入磁盘 写入磁盘 上下文切换次数
uptime
/proc/meminfo
进程管理
标签:memory 空间 户口本 用户 信息
原文地址:http://hiyang.blog.51cto.com/10728919/1764315