回炉重造六--进程管理

1、进程和内存管理

内核功用:进程管理、内存管理、文件系统、网络功能、驱动程序、安全功能等

1.1 进程

1.1.1进程的概念

进程:运行程序中的一个副本,是被载入内存的一个指令集合,是资源分配的单位
1、进程ID(PID)是被用来标记的各个进程
2、UID、GID和SELINUX决定对文件系统的存取和访问权限
3、通常从执行进程的用户来继承的
4、存在生命周期

1.1.2进程使用内存问题

1.1.2.1内存泄露:Memory Leak

指程序中用malloc或new申请了一块内存,但是没用free或delete将内存释放,导致这块内存一直处于占用状态

1.1.2.2 内存溢出:Memory Overlay

程序申请了10M的空间,但是在这个空间写入10M以上字节的数据

1.1.2.3内存不足:OOM

1.2进程状态

1.2.1进程的状态

创建状态:进程在创建时需要申请一个空白PCB(process control block进程控制块),向其中填写
控制和管理进程的信息,完成资源分配。如果创建工作无法完成,比如资源无法满足,就无法被调
度运行,把此时进程所处状态称为创建状态
就绪状态:进程已准备好,已分配到所需资源,只要分配到CPU就能够立即运行
执行状态:进程处于就绪状态被调度后,进程进入执行状态
阻塞状态:正在执行的进程由于某些事件(I/O请求,申请缓存区失败)而暂时无法运行,进程受
到阻塞。在满足请求时进入就绪状态等待系统调用
终止状态:进程结束,或出现错误,或被系统终止,进入终止状态。无法再执行
运行态:running
就绪态:ready
睡眠态:分为两种,可中断:interruptable,不可中断:uninterruptable
停止态:stopped,暂停于内存,但不会被调度,除非手动启动
僵死态:zombie,僵尸态,结束进程,父进程结束前,子进程不关闭,杀死父进程可以关闭僵死
态 的子进程

1.3进程的管理

1.3.1 进程树pstree–显示进程的父子关系

-p  #显示PID

1.3.2 进程信息ps

a #显示所有终端中的进程
x #显示包括不连接终端的进程
u #显示进程所有者的信息
f #显示进程树
-e #显示所有的进程
-u #指定有效用户的ID或名称
-g #指定有效的gid或组名称
-G #指定真正gid或组名称
-p #显示PID
ps常用的命令组合
#查看进程的详细信息
(1)ps  -ef
(2)ps  aux
#查看进程的指定信息,如查看某进程的cpu和内存占用情况
ps axo %cpu,%mem
#针对进程特定的属性进行排序,如以进程的cpu使用率进行排序
ps axo %cpu,%mem,pid k -%cpu

1.3.3top(提供动态的实时进程状态)命令的使用

1、排序
P  #以占据的cpu百分比,从大到小排序
M  #以占据内存百分比,从大到小排序

2、首部信息显示
uptime信息  #用l查看
task以及cpu信息  #用t查看
cpu分别显示  #用数字1查看
查看memory信息  #用m显示

退出命令  #q
修改刷新时间间隔 #s
终止指定进程 #k
保存文件 #w

1.4 lsof

-a #列出打开文件存在的进程
-i<条件>: #列出符合条件的进程

2、计划任务

这个没什么可总结的,就不做介绍了

你可能感兴趣的:(linux,服务器,运维)