Linux运维day22-进程管理2

一、如果管理进程kill、killall、pkill


1、kill PID 正常停止一个程序 

发送停止信号,当然vsftpd 服务有停止的脚本 systemctl stop vsftpd

2、kill -1 PID 平滑重载配置文件

发送重载信号,例如 vsftpd 的配置文件发生改变,希望重新加载

3、kill -9 PID 强制杀死进程 (对于mysql这类有状态的慎用)

发送强制停止信号,当无法停止服务时,可强制终止信号

4、pkill Name 批量干掉程序

通过服务名称杀掉进程

5、killall Name 批量干掉程序

killall命令需要安装yum install psmisc

二、后台进程该如何管理jobs bg fg screen


1.jobs、bg、fg的使用(强烈不推荐,了解即可)


2.screen的使用(强烈推荐,生产必用)


三、进程优先级是什么?nice、renice? 服务器假死?

1、什么是优先级

优先级指的是优先享受资源

2.为什么要有系统优先级

提高系统处理能力

3、系统中如何给进程配置优先级?

在启动进程时,为不同的进程使用不同的调度策略。

nice 值越高: 表示优先级越低,例如+19,该进程容易将CPU 使用量让给其他进程。

nice 值越低: 表示优先级越高,例如-20,该进程更不倾向于让出CPU。

1) 使用top或ps命令查看进程的优先级

2) nice指定程序的优先级。语法格式 nice -n 优先级数字 进程名称

3) renice命令修改一个正在运行的进程优先级。语法格式 renice -n 优先级数字 进程pid


PS:Linux出现假死,因为提前设定好SHHD的优先级,不然只能重启,重启没用的话,也就意味着无法通过shhd来连接bash,无法对系统进行查看,监控进程情况,所有我们应当事先设置好,一旦出现假死情况,可以及时的监控进程是哪些进程资源占用多,可以及时kill掉。

四、平均负载

        每次发现系统变慢时,我们通常做的第一件事,就是执行 top 或者 uptime 命令,来了解系统的负载情况。比如像下面这样,我在命令行里输入了 uptime 命令,系统也随即给出了结果。

1.什么是平均负载

平均负载不就是单位时间内的 CPU 使用率吗?上面的 0.70,就代表 CPU 使用率是 70%。其实上并.....

那到底如何理解平均负载:

平均负载是指单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数,  PS: 平均负载与 CPU 使用率并没有直接关系。

2.可运行状态和不可中断状态是什么

1.可运行状态进程,是指正在使用 CPU 或者正在等待 CPU 的进程,也就是我们ps 命令看到处于 R 状态的进程。

2.不可中断进程,(你做什么事情的时候是不能打断的?) 系统中最常见的是等待硬件设备的 I/O 响应,也就是我们 ps 命令中看到的 D 状态(也称为 Disk Sleep)的进程。

例如: 当一个进程向磁盘读写数据时,为了保证数据的一致性,在得到磁盘回复前,它是不能被其他进程或者中断打断的,这个时候的进程就处于不可中断状态。如果此时的进程被打断了,就容易出现磁盘数据与进程数据不一致的问题。

所以,不可中断状态实际上是系统对进程和硬件设备的一种保护机制。

划重点,因此你可以简单理解为,平均负载其实就是单位时间内的活跃进程数。

3.那平均负载为多少时合理

最理想的状态是每个 CPU 上都刚好运行着一个进程,这样每个 CPU 都得到了充分利用。所以在评判平均负载时,首先你要知道系统有几个 CPU,这可以通过 top 命令获取,或grep 'model name' /proc/cpuinfo

PS:划重点,因此你可以简单理解为,平均负载其实就是单位时 间内的活跃进程数。(处于运行+处于等待运行+不可中断的进 程) 

平均和cpu使用率有什么直接的关系? 

如何查看平均负载?

 1.三个数值都需要关注 综合评估 

2.考虑是cpu使用率高, 

还是cpu的IO等待过多造成过高 

大量使用cpu进程造成过高

总结:

        今天的内容并不是很多,但在实际生产中却有很多实用的东西,今天主要讲了进程的管理,也就是结束进程。通常我们用到kill命令+进程的名字或者PID来结束,Kill还有 -1 -9等参数  -1表示重启该进程,-9表示强制的意思,就是强制结束进程的生命周期。

        进程的优先级,为了让我们的系统拥有更好的处理能力,我们为之设置了优先级,可以通过优先级来实现我们认为较为重要的进程给它进行优先级的设置,让处理器,在资源紧张时优先处理设置的优先级的进程。nice 命令就是用来设置优先级的,nice值越高,表示优先级越低,相反值越低,表示优先级越高。screen 后台进程,在实际生产中用得比较多,screen -S 接command 命令来把它挂载到系统后台进行执行,screen -list 查看你的screen 后台挂载 screen -r +command 命令进入到后台,然后可以终止或者推出,可以按ctrl +d 和exit 进行退出。平均负载,平均负载是单位时间内活跃的进程数,进程越多表示负载越高,需要我们top 和uptime  进行监控负载情况,避免我们出现,一些服务器过量负载导致的卡顿现象。

你可能感兴趣的:(Linux运维day22-进程管理2)