day20-进程管理

1.什么是进程?
2.程序与进程之间有什么区别?
3.进程的生命周期?
4.进程运行的状态指标?
5.如何监控进程的状态、静态ps、动态top?
6.进程中的iowait 软中断 硬中断?

1.什么是进程?

  • 进程是系统中正在运行的一个程序,程序一旦运行就是进程。

2.程序与进程之间有什么区别?

  • 进程是程序的一次执行过程,是动态概念,程序是一组有序的指令集和,是静态概念
  • 进程是暂时的,是程序在数据集上的一次执行,可创建可撤销,程序是永存的
  • 进程具有并发行,程序没有
  • 进程是竞争计算机资源的最小单位,程序不是
  • 进程与程序不是一一对应,多个进程可执行一个程序,一个程序可执行多个程序

3.进程的生命周期?

  • 每一个进程都有其生命周期,例如创建、运行、终止和消除。这些阶段会在系统启动和运行中重复无数次。


    image.png

4.进程运行的状态指标?

STAT基本状态 描述 STAT状态+符号 描述
R 进程运行 s 进程是控制进程, Ss进程的领导者,父进程
S 可中断睡眠 < 进程运行在高优先级上,S<优先级较高的进程
T 进程被暂停 N 进程运行在低优先级上,SN优先级较低的进程
D 不可中断进程 + 当前进程运行在前台,R+该表示进程在前台运行
Z 僵尸进程 l 进程是多线程的,Sl表示进程是以线程方式运行

5.如何监控进程的状态、静态ps、动态top?

1.用ps aux命令查看当前的进程状态(静态)

状态 描述
USER 启动进程的用户
PID 进程运行的ID号
%CPU 进程占用CPU百分比
%MEM 进程占用内存百分比
VSZ 进程占用虚拟内存大小(单位kb)
RSS 进程占用物理内存实际大小(单位kb)
TTY 进程是由哪个终端运行启动的tty1 ,pts/0等 ?表示内核程序与终端无关
STAT 进程运行过程中的状态man ps (/STATE)
START 进程的启动时间
TIME 进程占用CPU的总时间,单位秒
COMMAND 程序的运行指令,[方括号]属于内核态的进程.没有[]的是用户态进程

2.用top命令查看当前的进程状态(动态)

image.png

前面两行信息

列名 含义
20:45:03 表示系统当前时间
up 11:49 表示系统已经运行时间
5 users 当前登录的用户数5个
load average: 0.00,0.01,0.05 表示内核任务在1分钟、5分钟、15分钟的平均负载
Tasks:159 total 当前系统的进程总数
1 running 当前系统中有4个正在运行的进程
157 sleeping 当前系统中有284个休眠的进程
1 stopped 停止进程数为1
0 zombie 僵死进程数为0
0.3 us 进程占用cpu的百分比(用户进程)
0.0 sy 内核进程 (硬件)
0.0 ni 优先级的进程占用cpu的百分比
99.7 id 空闲的进程
0.0 wa 大量的等待 -->
0.0 hi 硬中断
0.0 si 软中断
0.0 st 虚拟机占用物理CPU的百分比

进程信息

列名 含义
PID 进程id
USER 进程所有者的用户名
PR 优先级
NI 负值表示高优先级,正值表示低优先级
VIRT 进程使用的虚拟内存总量,单位kb,VIRT=SWAP+RES
RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR 共享内存大小,单位kb
S 进程状态
%CPU 进程占用CPU百分比
%MEM 进程占用内存百分比
TIME+ 进程使用的CPU时间总计,单位1/100秒
COMMAND 命令名/命令行

6.进程中的iowait 软中断 硬中断?

1.什么是中断

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

2.中断会带来什么问题?

  • 由于中断处理程序会打断其他进程的运行,所以,为了减少对正常进程运行调度的影响,中断处理程序就需要尽可能快地运行。
  • 如果中断本身要做的事情不多,那么处理起来也不会有太大问题;但如果中断要处理的事情很多,中断服务程序就有可能要运行很长时间。
  • 特别是,中断处理程序在响应中断时,还会临时关闭中断。这就会导致上一次中断处理完成之前,其他中断都不能响应,也就是说中断有可能会丢失。

3.Linux 中的中断处理程序分为上半部和下半部:

  • 上半部对应硬件中断,用来快速处理中断。
  • 下半部对应软中断,用来异步处理上半部未完成的工作。

Linux 中的软中断包括网络收发、定时、调度、RCU 锁等各种类型,可以通过查看 /proc/softirqs 来观察软中断的运行情况。

软中断 CPU 使用率(softirq)升高是一种很常见的性能问题。虽然软中断的类型很多,但实际生产中,我们遇到的性能瓶颈大多是网络收发类型的软中断,特别是网络接收的软中断。

在碰到这类问题时,你可以借用 sar、tcpdump 等工具,做进一步分析。不要害怕网络性能 。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 昨日回顾 1.什么是硬盘, 什么是磁盘 2.磁盘内部结构*磁道,金属颗粒*磁头 由马达带动主轴旋转盘面,磁头磁化磁...
    a幕城阅读 194评论 0 1
  • 又来到了一个老生常谈的问题,应用层软件开发的程序员要不要了解和深入学习操作系统呢? 今天就这个问题开始,来谈谈操...
    tangsl阅读 4,177评论 0 23
  • 文/tangsl(简书作者) 原文链接:http://www.jianshu.com/p/2b993a4b913e...
    西葫芦炒胖子阅读 3,826评论 0 5
  • Day20-进程管理 导读 今日内容1.什么是进程2.程序与进程之间有什么区别3.进程的生命周期4.进程运行的状态...
    一条小强强OvO阅读 161评论 0 1
  • 做一个完美的人,这是我们大多数人一直追求的。那么,怎样才是完美呢?有人认为,夫妻恩爱,长辈健康,孩子乖巧,这是完美...
    九空阅读 584评论 0 3