Linux运维学习笔记 4.7

进程管理

进程就是运行的程序

程序:静态的概念,可以永久储存在系统中

进程:动态的概念,程序运行的过程,运行的程序被终止,进程就被销毁,不会储存

进程的生命周期:

父进程PPID收到任务调度是,会通过fork派生子进程PID

子进程处理任务时,父进程不会进入等待,运行过程由Linux系统 进行调度

子进程完成任务后,会执行退出,父进程会回收子进程的资源

僵尸进程:子进程异常退出,而父进程没有进行回收资源,导致子进程虽然运行但没有实体,在内核的进程表中占据一条记录,对

系统资源造成浪费

孤儿进程:子进程执行过程中,父进程退出,子进程没有退出,子进程就由系统的system进程管理  

监控进程状态

静态监控:监控某一刻的进程状态,ps -aux命令查看

01.png
USER:进程运行的用户身份(每一个进程都需要一个特定的用户身份来运行)

PID:子进程的身份标识

%CPU:进程占用CPU的百分比

%MEM:进程占用内存的百分比

VSZ:虚拟内存

RSS:实际占用的内存

TTY:该进程是哪个终端运行的  ?标识系统运行

STAT:进程所表示的状态

START:进程启动时间

TIME:进程占用CPU的总时间

COMMAND:运行进程需要用到的命令 []表示内核启动的进程

其中的STAT(重点)

基本状态:

R 运行中的进程

S 可中断的进程

T 被暂停的进程

D 不可中断的进程

Z 僵尸进程  

状态加符号:

s 该进程是控制进程,比如Ss 是父进程

< 该进程运行在高优先级上

N 该进程运行在低优先级上

 + 该进程运行在前台

l 该进程是多线程的

动态监控

top命令

动态监控.png
动态监控top02.png
第一行:up(系统运行时间) user(用户数) load average (平均负载)

第二行:total(进程数) running(正在运行的进程数) sleeping(暂停的进程数) stopped(停止的进程数) zombie (僵尸进程)

第三行:us(用户进程占用的CPU百分比) sy(内核进程占用的CPU百分比) ni(优先级高的进程占用的CPU百分比)

        id(空闲的CPU百分比) wa(需要等待的进程占用的CPU百分比,在数据库场景常见)  

        hi (硬中断) si(软中断) st(当服务器中运行虚拟机的时候,虚拟机占用的物理CPU百分比)

中断程序

中断是系统用来响应硬件设备请求的一个机制,会打断进程的正常调度和执行,然后调用内核中的中断程序来响应设备的请求

有了中断程序,可以提高系统的并发处理能力

中断带来的问题:由于中断程序会打断其他进程的运行,所以中断程序本身需要尽可能快地运行,如果中断要处理的事情很多,中断程序

会运行很长时间,注意,中断程序在响应中断的时候,会临时关闭中断,当第一次的中断还没有处理完,其他的中断都不能响应,中断也就丢失了

为了解决中断处理时间过长和中断丢失的问题,Linux将中断处理过程分成了两个阶段,

上半部:用来快速处理中断,在中断关闭时运行,主要处理跟硬件紧密相关的工作,这就是硬中断,快速执行

下半部:用来延迟处理上半部未完成的工作,通常以内核线程的方式运行,这就是软中断,延迟执行
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容