00:00
大家好。欢迎大家继续收看上硅谷的云计算课程。我是沈涛老师。这节课开始我们来学习第15章系统管理,那这个是一个统称啊,里面主要包含了这样几个内容,先讲的是进程,后面我们会有这种。我想看一下。先有进程管理,然后呢。我们会有工作管理啊往下对吧,在这然后呢,我们会工作管理之后呢,我们会有一些讲一些资源查看的命令,最后呢是系统定时任务,各位那这些东西呢,呃,相对来说都是日常工作中非常重要的东西,这个章节相对来说重要度还是比较高的。那我们先来看看进程管理,什么是进程管理啊?各位右击一下Windows,我们Windows其实也有进程管理这样的一个东西,那在这里右击任务栏,选择启动任务管理器,这个程序大家应该都见过吧?见过吧,那你们用它来干嘛?哎,一般我问我的学员,我们学员都会告诉我用它来结束进程,哎,各位,这个事儿你可要想清楚啊,啊,其实我们说。
01:11
进程管理最主要的工作是这样三个内容,第一个作用叫做判断服务器的健康状态。什么意思?其实这个任务管理器就Windows的任务管理器,包括linus进程管理它的类,这个作用是类似的。那它最主要的作用不是用来结束进程,为啥?我们这里面运行的这些程序,它其实都是有它正确的结束方法,也就是说我这里打开了文档,我没必要通过它强制终止啊,我这里就上面这个直接把它关了它就可以对吧,所以啊各位。任务管理器,它其实最主要的工作也是我们这个学员的误区啊,你可千万不要理解,它就是用来结束进程,当然我们说在这个普通用户来看,结束进程是他用的最多了,但是这个事儿是你看到的东西,他并不一定就是真实的东西,所以呃,那这个东西到底是干嘛的?各位第一件事儿,最主要的事儿。
02:09
它的作用是判断你的服务器健康状态。什么意思,也就是这。判断什么?你的CPU,你的内存,它的占比有没有超标,你的电脑有没有死机的风险?那各位。运维工程师,其实最理想的状态是我发现了这个家伙,这台服务器处在亚健康状态。它呢不是太健康,有死机的风险,然后呢,我通过这个人工介入,我把他的亚健康状态给消除了。然后呢,我们就可以干嘛解决这个问题,这是最理想的,但是我说。实际情况下是,如果我只有几台服务器,那这个还是有可能我没事儿我就登上去看看,那么发现有问题我就及时处理就行,对吧,但是如果我的服务器数量很多,其实我们一般情况下可能很难处理它的亚健康状态,那我们一般都是什么?通过监控或者报捷发现它只要一宕机,一出现真正的死机问题,我们马上介入,能很快的解决问题,其实这就已经很不错,当然啊,像这种重要的核心服务器,如果要应对它的意外宕机,是要准备备份服务器的啊,这种就就是这个我们后面在集群里再说啊,那我们现在就说啊各位,其实这个工具。
03:26
不论是Windows的任务管理器,还是我们。这个Linux当中的进程管理,其实它最主要的作用就是判断我们的服务器健康,那多多少情况下,这个占比是多少的情况下,我认为它是健康的。各位给你一个原则,七零。九零。我们一般认为你的内存数的占比不超过70%,CPU占比不超过90%,这个状态就是合理的,没有死机风险。当然我说啊,理论上是你的电脑越接近这个值。
04:02
越接近。你的电脑的性能就利用的越完整,就是说你既没有空闲,也没有这个死机风险,理论上来说,我们是应该保证你的服务器越接近这个值越好,但是我说这个太难了,这个事儿,而且在这上面是走钢丝,就到这个极限是走钢丝,一不小心它有可能就会死机,所以我们运维工程师要做的事情是把它控制在这个之下。就不能超出这个范围,7090这个原则啊,大家注意这个事儿。那这是一个通用原则,各位这个呢,可能还是要在你实际工作中,根据你的实际访问量来推算,比如说我这里一台服务器,我这上面的访问量达到同时访问量达到了5000个。这5000个进程则同时在这儿,然后我看我的这台服务器上的这个CPU和内存的占有几乎就已经接近它的极限了,那我就可以理解为我这个同时上线的,我这个访问人数,或者同时的这个刷新的是5000,诶我就可以这样认为,当然我这是举例啊,这个到底它能同时支持多少的访问量,取决于很多东西,比如说它既取决于你的服务器本身的性能,哎,我说你花一两千块钱买的那个二手服务器,和人家花几百万的那种顶级刀片龙服务器,那肯定这个访问量不是一样的。
05:21
对吧,它取决于你的服务器的性能,其次呢,还要取决于你服务器上跑的内容是什么,你在服务器上运行的是什么,那我们一般认为啊,普通的网站。它的占有是这个资源占有是最少的,那网站的这个小先啊,我这里说的网站就是普通网站,也就是说呃,没有什么过多功能,你就登上来,比如说这个像网页的首页这样的,我登上来,我就看看新闻的这种网站,这个网站这个它访问量相对较小,原因啊,看这里现在看还在刷新。对吧,但是等一会儿我们现在的这个网速很快,稍微等一会儿,那这个东西几秒钟之后,这个东西它就不会转了,证明你和服务器的连接其实就终止了啊,当然现在因为附加的广告啊,这种动画呀非常多,所以其实传起来你会发现它还是很慢的啊,但是他只要终止之后这个事儿,我跟服务器的连接理论上就断开了,他就可以把资源腾出来给其他人访问,对吧?那所以一般来说纯网页它的这个对服务器的压力是最小的。
06:26
然后呢,但是呢,其他的一些东西,比如说。我们的什么在线的视频。这样的东西。包括下载,包括在线的游戏,压力都是极大的,要比网站要大的多得多啊,多得多啊,那这个我们现在还没传,我这可能进这些广告,所以啊,好了,这回终于传完了。我的这个啊,我的这个alt键卡住了,CTRL键卡住了。
07:00
好好好,那我们就说这个情况啊,就是说这种访问是压力相对较小的,那这里呢,我们说其他的,比如说在线的购物。在线的视频,在线游戏,其实都是压力极其巨大的一种这种访问方式,那我们说,所以我说到底这一台服务器能支持多少人同时访问,其实它是一个,它是一个需要测试的值,不同的网站,不同的服务器是不一样的,OK,那也就是说我到底要不要判断我们服务器是不是在亚健康状态,也需要测试,它也是需要测的啊,但是我们说进程管理最主要的一个工作就是判断健康。当然对个人用户来讲,他可能觉得这事儿不一定重要,但是我们说对服务器,对专业运维工程师来讲,这事儿你每天都要干的事,甚至手工来监控还不行,我们需要大监控集群,这个东西我们都是不是都是要后面来学的,我们需要搭建监控集群,由服务器,由程序来帮我来判断这个东西它有没有出现问题。
08:05
OK,那这是进程管理最主要的作用,那也就是说Windows既然有这样一个东西能看性能,我们linus肯定会有对应的命令,当然Windows是图形的,那Linux呢,是命令,但是也有。那好,这是我们的第一个任务啊,这也是我们最重要进程管理中最重要的任务,那来看看第二个任,第二个任务就是看系统中哪些进程,有哪些进程,换句话说就是这个看这里。点这个工具,我们可以知道是谁,我系统中跑了哪些进程,其次,我还要知道有谁占用了我的CPU资源,点CPU就可以按CPU排序,点内存就可以按内存排序,谁占了我的内存。从而我可以判断我这个性能,比如说我的CPU达到了50%,那我是不是就要看看是谁占的对吧。哎,小夏啊,有学员曾经问我说老师,哎,我这个东西怎么CPU占了92%,他问我这个进程是什么,而且这个进程还结束不了,我说各位不要不要那个这个这个怎么说呢?这个不要问这么这么这样的问题啊,有点有点可笑,啥意思?
09:15
这句话STEM idle process系统空闲进程,这个进程就是你当前CPU可用空间,也就是说我这里如果是92%,我的CPU占有率就应该是八,8%,或者如果93%,这就应该是七,这是空闲进程啊,你不要搞,搞错啊,所以它占的大是对的啊,他如果占比很小,10%你快死机了,听见了啊,那好,那这是第二个工作,判断系统当中是谁占用了我的进程。那各位。最后一个工作,最不重要的工作才是杀死进程。我为什么一直这么说?我再说一遍。我们的服务器是有正确终止进程的方法,比如说阿帕奇,可以直接停止就行了,没必要去杀他。
10:05
那只有在正常停止失效的情况下,我们才会考虑用Q来杀死他,再有一个你不能这个给谁杀谁啊,容易出现容易把整个系统搞崩溃啊,那这里我还得提醒你们一句啊,各位比如说。我真发现我的内存达到了70%,或者CPU达到了90%,然后呢,我进程这里一看,我发现某一个程序占用了我的CPU资源或者内存资源,我应该怎么办?我们的学员就告诉我,他想都不想就会告诉我老师,这还用想,把他直接给干掉呗,杀死他不就结束了?嗨,各位别这么想,这个时候要分情况,分情况是吗?判断一下占用资源的人,这个进程是正常进程,是合理进程还是非正常进程。什么是进程?正常进程,比如说我在Linux当中一查,我发现就是阿帕奇占的进程。
11:00
就是我的阿帕奇占的进程占的资源,因为访问人数大,它的这个CPU占有率,或者这个内存占有率达到了超标了,那我怎么办?我能不能把阿帕奇直接给干掉,把阿帕奇直接杀死行不行?你们可能反应不过来啊,我们我很多时候问我们学员,我们学员就说可以啊,有什么不行,各位你不要搞错了。我搭这台服务器的目的是不是就是为了运行阿帕奇?你把阿帕奇给干掉了,是他进程是这个降降下来了,但是我问你,我要你的服务器干嘛。哎,我要服务器的目的不就是搭建阿帕奇,让别人可以有网站可以访问你,对吧?你把阿帕奇都干掉了,网站是不是也瘫痪了,那进程占这个CPU占有率下来了,我要你的服务器还有什么意义?所以。各位,如果是正常房子进程,它的资源占比超标了,是不能把它给干掉了,那怎么办?
12:01
哎,正常进程占比这个这个超标了,我一台服务器负担不了了,访问量达不到了怎么办。各位这个时候其实有时候突然一问啊,有些学员其实知道,但是突然一问也有可能懵逼怎么办?各位搭集群啊。买多台服务器啊,你认为工程师的价,这个你的价值它就体现在集群维护上,单台服务器,我说心里话,如果你只是单台一台服务器,这个学的好一点的编程工程师,他也能维护。但是呢,单台服务器能够支持的访问量,能够支持的人数是有极限的,哎,我们写的再好的程序,这个访问量就是你优化再优化它也不能突破你的这个服务器的硬件性能,那这个时候呢,我如果突破了,访问人数真的增多了,你不能说我不让别人访问,对吧?你运维工程师的价这个价值就体现出来,你的价值就是什么,搭建集群这个事儿是编程工程师就绝对干不了,这个一定得专业运维来做,对吧?所以啊,各位你不要犯二啊,如果是正常进程,绝不是把它给干掉,而是什么,我是不是通过多台服务器来提升性能,是不是来解决这个问题,对吧?
13:14
那。那是不是说如果是非法进城,非正常进城,我发现这个家伙占了资源,我是不是可以把他杀掉了?各位,其实也不能直接杀掉,你要做的事情是首先应该找到他。然后把它彻底清除干净。然后再把他杀死,哎,各位,病毒一般都是在自我复制性的,如果你把它只是这个表面上给他杀掉了,干掉了,他呢,过一会儿,要不了多长时间,他就会自己开开,所以除非你把它彻底清除,否则呢,你是不能也是不能直接杀死的,换句话说还是这句话。杀死京城。你不能经常用。对,正常进程坚决不能用非法进程,你也要考虑情况,我先要把它彻底清除干净,才考虑来把它终止就行了,所以啊,各位。
14:09
这里反复强调这个结束进程这个事儿,就是啊,其实你个人电脑倒也问题不大,真结束错了,死机了,重启也就算了,一般也不会造造成严重后果,但是服务器这个事儿就不行,为啥重启一次它是要造成损失了,上面访问人数是全部会被踢掉了,它会要造成这个真实的价值的损失的,这是不行的,OK。好了,那我们。这节课呢,简介一下进程管理是干什么的,然后呢,也提醒你们进程管理主要的功能是这三个功能,在最后提醒你慎重使用杀死进程这样的方法好。那这节课的内容就是这样,我们下节课再见。
我来说两句