[进程管理]
线性内存:物理内存:
内存的特权级别:最里面0环,最外面3环,只有内存才能执行0环,直接操作硬件。内核空间/用户空间
mkdir执行时如果要执行硬盘操作需要转入内核模式,所以内核在自己的空间里维护着一个task structure任务结构
内核数据结构:PPID,PID,NAME及执行到哪一条指令等信息
堆:heap 用来存储不断增加的内存申请,进程执行时要动态增加的内存空间。
栈:stack 用来存储本地变量
CPU中有一个:MMU 内存管理单元,CPU中的子芯片,将内存页面号转换为物理内存中的数据。
TLB:MMU为了加速转化,采用的缓存加速。
查看进程空间:VSZ虚拟内存大小;RSS:常驻内存大小
单进程多线程更省空间。多线程间的共享和加锁机制等,自选锁。
进程状态:父子关系,优先级关系(UPS电源,断电前通知各进程保存)
uninterruptible sleep:不可中断的睡眼状态,当进程需要调用外部资源如执行I/O时,先交出CPU,待加载完毕再执行。
interruptible sleep: 可中断的睡眼状态,有需要时再唤醒的进程。
进程优先级:从0-139共计140种优先级。数字越小优先级越高。100-139是用户控制,0-99是内核调整本文地址:http://www.04007.cn/article/1081.html,未经许可,不得转载.
复杂度:大O标准(O(1), O(N) O(logn) O(n平方) O(2的N方) 曲线图越来越剧烈增长
进程的nice值:对应优先级。0对应120.范围100-139. 变动-20到19
nice值范围-20到-19,分别对应100-139这些用户控制的优先级.
pid:process ID.除了init进程外,每一个进程都有父进程。/proc中每一个数字对应一个进程。都是内核中的信息,映射而来
进程分跟终端有关、无关的进程。
[ps,pstree,pgrep,top,vmstat,free,kill,pkill,bg,fg,pidof,]
ps:process state,查看进程相关的专用命令 两种风格BSD、System V(简写sysv 此风格要横线).
a:查看与终端有关的进程。
u:显示进程执行用户等信息
x:查看与终端无关的进程。
tty:?和终端无关,stat运行状态。进程状态
SYSV风格:D:不可中断睡眼,R:运行或就绪,S:可中断睡眠;T:停止;Z僵死
BSD风格:<:高优先级的进程;N:低优先级的进程 l:多线程进程 +:前台进程组中的进程,s:会话进程的领导者
ps aux查看进程,command外加中括号表示是内核线程。
另一种风格:
-e:表示所有进程
-l:比e更详细的信息。
-f:更详细的信息
ps -efl PRI:优先级,NI,nice值。PSR:正在运行哪个CPU上,
指定显示哪些选项 -o :ps -axo pid,ni
pgrep:找符号某种特性的进程。pgrep redis 只显示进程号。pgrep -u root bash.以root运行且是bash进程
pidof:pidof php-fpm查找出进程的所有PID。
top:hi,硬中断时间,si,软中断的时间,st被偷走的时间。VIRT=VSZ.
排序:M以mem排序,P以cpu排序,T,以CPU运行时间排序
l:是否显示平均负载和启动时间,t是否显示进程及CPU状态信息,m是否显示内存信息
a:进行分组。
c:是否显示完整命令行,q退出,k杀死进程。
-d,-b,-b批模式,不刷新,而是翻屏。-n #在批模式下显示多少批。
IPC:进程间通信,InterProcessCommunication;
1,共享内存;
2,信号:SIGNAL kill -l可查看所有信号。kill命令默认是-15信息
1:SIGHUP:让一个进程不用重启,就可以重读配置文件,
2:SIGINT:=ctrl+c,中断进程
9:SIGKILL 杀死一个进程
15:SIGTERM 终止一个进程。
杀进程可使用:kill 进程号,或者kill -数字,或者kill TERM(上面的去掉SIG)
3,Semaphore 旗语
kill后面必须跟PID,killall 后面跟进程名command.可杀所有进程
[renice nice]
调整进程的NICE值--进程的优先级(调整已经启动的进程的nice值)
renice nice值 PID:ps axo pid,ni | tail -10 renice 3 进程值
在启动时nice值 nice -n NI command
nice -n -3 useradd hbase 指定这个进程以优先级-3来执行。
pkill和pgrep进程一样。
pg,fg: VI编辑文件的时候 ctrl+z将编辑调至后台运行再使用fg可调出vi。有时可用于临时退出编辑。
前台:占据了命令提示符;后台:启动之后在后台完成。
前台送往后台: ctrl+z:所正在前台的作业送往后台。
command & 直接在后台运行。
正解压的命令使用ctrl+z送到后台是stopped状态,需要使bg命令让停止的作业继续运行。bg 1(作业号)
[jobs] jobs可查看后台的所有作业:每个作业有作业号。不同于进程号。
+:命令将默认操作的作业
-:命令将第二个默认操作的作业,后面依次往下排。
杀死作业号:kill %作业号。注意一定要%号。终止某作业
[vmstat]虚拟内存状态查看命令
vmstat #每几秒刷新 #总共显示多少次。
uptime命令:
cat /proc/meminfo cat /proc/cpuinfo
cat /proc/maps当前的进程点击了物理内存哪些页面的详细记录数据。本文地址:http://www.04007.cn/article/1081.html,未经许可,不得转载.
本文地址:http://www.04007.cn/article/1081.html 未经许可,不得转载. 手机访问本页请扫描右下方二维码.
![]() |
![]() |
手机扫码直接打开本页面 |