Linux运维之进程管理①

1、进程概念

①进程是操作系统最核心的概念,那什么是进程? 

进程就是正在运行中的程序,资源单位。

②线程

进程内代码的执行过程,线程是CPU的执行单位,一个进程至少有一个线程

 

一个进程的多个线程共享该进程的内存资源。

不同进程的多个线程的内存资源是相互隔离的

 

③那什么是程序?

程序就是一堆代码文件

④内核态和用户态

内核态:程序运行的过程

用户态:操作系统控制着硬件去运行程序的过程

⑤并发与并行

并行:多个程序看起来是同时运行的,事实上是cup利用时间、空间碎片快速在多个程序之间快速切换,给人的感            觉就是多个程序在同时运行

并发:多个程序真正意义上的同时运行,只有多内核才能实现

强调:CPU是运行代码,而不是做io

⑥任务运行的三种状态

运行态、 就绪态、 阻塞态

⑦提交任务的两种方式

同步、 异步

二、查看进程信息

[root@@321 ~]# ps aux   (查看进程池)
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.3 125432  3860 ?        Ss   08:39   0:01 /usr/lib/systemd/systemd --sw
root          2  0.0  0.0      0     0 ?        S    08:39   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        S    08:39   0:00 [ksoftirqd/0]
root          5  0.0  0.0      0     0 ?        S<   08:39   0:00 [kworker/0:0H]
STAT:进程状态

R:运行状态                          S:可中断睡眠状态

D:不可中断睡眠状态            T:暂停状态

z :僵尸进程                           x:死掉的进程(几乎看不到,很快会被操作系统回收掉)

>:>代表优先级较高的进程    n:n带表优先级较低的进程

s:包含子进程                         +:+表示的是前台的进程组

Linux进程有两种睡眠状态

Intreeuptible Sleep (可中断睡眠,在ps命令中显示“s”)

处在这种睡眠状态的进程是可以通过给它发送signal来唤醒的,比如HUP信号给nginx的master进程可以让nginx重新加载配置文件而不需要重新启动nginx进程。

Unintreeuptible Sleep (不可中断睡眠,在ps命令中显示“D”)

处在这种状态的进程不接受外来的任何signal,这也是为何无法用kill杀掉处于D状态的进程,无论是“kill”、“kill -9”

、“kill -15”还是“Ctrl+c”、“Ctrl +z”都无济于事,因为它们压根就不受这些信号的支配。

查看进程树 : pstree PID号

查看PPID:ps -elf PPID号

动态查看:top -d 1 (一秒刷新一次)

                  top -d 1 -p (进程的PID)

                  top -d 1 -u nginx (查看指定用户的进程) 

                  top -b -n 2 > a.txt  (将两次刷新信息写到文件)

显示信息解释

top - 19:37:01 up 10:57,  2 users,  load average: 0.00, 0.01, 0.05

第一部分系统整体统计时间

up左边:当前系统时间

up右边:系统从开机到现在的运行时间

 load average: 0.00, 0.01, 0.05  : CPU的1分钟、5分钟、15分钟的平均负载

 

%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
us:用户态占用CPU时间的百分比

sy:内核态占用CPU时间的百分比

ni:代表优先被调度的进程占CPU时间的百分比

id:CPU空闲百分比

wa:CPU等待io的百分比

hi:硬件终端,处理硬件中断所占用的CPU时间

si:软件中断,处理软件中断所占用的CPU时间

st:被偷走的CPU

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

ps:中断是一个异步的事件处理机制,可以提高操作系统处理并发的能力。

三、top命令

top的运行过程中可以通过top内部命令对进程的显示方式进行控制,top内部命令如下

M:按内存的使用排序

P:按CPU的使用排序

N:按PID的大小排序

R:对排序进行反转

f自定义显示字段

1:显示所有CPU的负载情况

s:改变画面更新频率

h |?帮助

<:向前

>:向后

z:色彩

命令行选项:

top -d 刷新时间s -p pid #只看某一个进程的信息

top -d 刷新时间s -u 用户 #只查看该用户开启的所有进程信息

四、调整进程的优先级

r调整进程的优先级

优先级的等级范围是-20~19,其中数值越低优先级越高,数值越高优先级越低,优先级最高为-20,最低为19

需要注意:普通用户只能在0~19之间调整应用程序的优先级,只有超级用户有权限调整更高的优先权(-20~19)

kill信号管理

1:重新加载

2:中断进程,类似于Ctrl+c

3:正常终止进程

9:强制杀死进程

15:默认信号,终止进程

18:被暂停的进程将继续回复运行

19:暂停进程

20:停止进程运行

命令示例:

[root@@321 ~]# kill -9 9813  (9813为进程的PID号)

pkill:

-t:指定终端

-9:强制,把终端运行的命令和终端一起杀掉

 

 

 

 

 

       

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值