00:04
好,那我们接下来呢,给大家介绍一些这个和进程以及性能相关的各种工具啊,这个接下来讲的介绍的工具非常多啊。呃,先来看第一个工具叫PS PR prt state,这个呢是查看进程信息的,呃,它来自于psi这个包。啊,所以如果这个包你没有装,它是没有这个功能的,叫PSMSC,诶有了,那所以我这就有可以用这个工具了啊这个工具呢,它有个选项叫R啊,那它可以跟踪一个进程的信息,比方说显示一下进程的进程编号啊,包括它的程序呀,包括它的状态呀,哎,这里面包括它CPU的使用情况,包括内存的使用情况,哎,尤其你看这这显示清清楚楚内存占了多大啊15兆,15兆这是。
01:11
这是他虚拟内存占的空间,但实际上它真正只用了15条啊,包括它的这个进程的优先级,这都能看得到,他们ma先级是零,然后R呢,就是换了一种格式显示,就这种格式。啊,这就是他的命令显示啊,假如说我们来执行一下。我们就看一号进程吧,啊,一号进程看这就是CND,这是它使用的资源,那它的内存使用的大小是十兆啊十兆。好,优先级是零,好,这是目前来讲呢,咱们看到的进程信息所显示的还是比较全的啊啊另外呢,我们还可以去设置优先级。
02:05
四月预级呢,我们刚才曾经看到过,咱们系统的优先级可以分成零到139,分成两大类,其中零到99咱们称为实时预先机,100到139之间咱们称为静态油烟机啊。这个我们这有一个命令叫nice命令,Nice命令可以调静态优先级,Nice这个nice呢,它调整优先级,呃,范围只能在之前的100到139之间,它的值呢是负二到正负20,正19之间,那比方说我们现在有这样的一个进程,我想你。某个优先级的身份来运行,默认情况下这个进程的执行它是以零优先级的方式啊,比方说现在这个进程我想查看的优先级,我们可以用这个命令来看啊,看预先级怎么看呢?用p sa XO。
03:04
有一个叫PID和nii,就是指它的那个优先级,你看现在是不是都是默认是以零的优先级来运行的,零,那我们也可以把它指定以某个期望的优先级来运行啊。比方说我们就以。负,最多是负20。负20,那这时候我就以负20的优先级来运行这个进程了,那我们来看一下,看是不是负20。负20,它实际上相当于我们整个零到139的哪个呢,100啊100也就是他在整个优先级里面算是比较高的,比较高的这个数字呢,是。只能在负20到正19之间,当然如果我故意的超了,比方说我写个30。
04:02
这会出现什么现象呢?好像没报错,没报错,那你应该猜猜啥意思,是不是还是20对吧?哎,还是20,所以有的时候呢,有些资料里面,到时候他会告诉你,哎,我设个正20。有挣20吗?我们说负19到负20到正19之间,所以最多也就到19,知道吧?啊,当然现在有一个问题,这个优先级我已经设好了,那么能不能后期改啊,啊在不停进程的情况下也可以改,用这个命令可以改。啊,比方说我给它改成什么呢?改成十,改成十后面跟上进程的编号。看其实我们已经改了,看改了吧。所以这个优先级是可以改的啊。好,这两个命令可以改。
05:02
啊,理论上优先级越高,它的速度越快,但是也并不是绝对的,并不是绝对的啊,比方说举个例子,你说这个命令你调优先级,调不调优先级,它有没有。影响它的速度。实际上没什么影响,因为这个命令它并不是由优先级来决定它的速度,是决定对方有没有回应包,我发一个包,对方回来我就拼第二个,对方回不来我就等着,所以优先级给我再高是不是也没用啊,你知道吧,所以优先级啊,这个条件并不真的能决定你真的跑得快还是慢。啊好,那另外呢,我们在工作中还有一个经常用的技能,就是进程的搜索。啊,事实上大家应该知道,配合gra这个我想大家应该不用说,你应该知道怎么做啊,我们现在想查找某一个进程,那我就可以用PX啊,我们就这样假方说我们要查包含半式的进程,我就这么搜就搜出来了啊,但是这种方式呢,它的搜索条件没那么丰富。
06:17
比方说我想搜索什么呢?我想搜索在当前这个这个呃,终端打开的进程,当前的终端是PTPTS0,我想以终端作为条件来过滤。那么虽然我也可以用gra后面跟上一个PPS0啊,但是我们有更加专业的过滤进程的命令,叫p break break呢,它这可以支持好多。选项,比方说根据终端作为条件,根据设备的用户名,根据这个不是设备啊,就是根据这个进程的生效用户,根据真正的发起用户,根据他的。
07:03
这些信息作为过滤条件啊,比方说我们就想查看在哪个终端上运行的进程,我就可以用这个叫p group,让TPTPTS0,那是不是查到了有两个进程是基于PS0运行,但这两个进程是什么我不知道,看不出来,那怎么办呢?诶,加个L。加个L呢,它可以显示进程的名称啊,甚至我还可以更加详细的显示他的信息。A啊。A是详细显示,然后P是可以显示指定进程的子进程啊,那我想看我下面有没有紫禁城。比方说3125下面有没有紫禁城,哎,我就可以用3125。Pere。
08:00
3125大P,哎,3125的夏季进程是3499,真的有这个吗?那我们来确认一下吧,这个变量啊,我们可以看到。啊,三幺。在上面的吗。3499是吧,在这3499它的上级不就3125吗?这不是互总进程关系吗?看到没啊。哎,这就是进程。好啊,另外呢,还有PID off pidf我们也是用的非常多,它呢是可以查看一个进程,通过程序名获取它的进程编号。啊,进程编号,比方说我想我知道有个进程叫干事,我想知道它的进程编号是什么啊。
09:02
那这里面有一个问题啊,就是我们这如果写了一个脚本。那这个脚本执行一些命令,比方说我就简单一点叫休眠。然后我去加上这个权限,我去运行它。那运行它的时候呢,我能不能找到这个PID。叫TSH的进程啊。打卡。他找不到。虽然我运行是确实是以身他的身份运行的,但我们这看不到啊。看不到,那我们可以用P这个命令来进行过滤。看这可以后面跟上一个pattern模式,看看能不能过滤出来啊,看能不能过滤出来,那我来试一试,叫test,它的进程编号就是4055405是不是我们刚才说的进程,我们过滤一下看看。
10:14
那是吧。405,那之所以刚才我们查不到原因,就是因为他是以大的身份来运行。所以看不到啊。那当然我们用这些命令配合刚才说的规格也是可以看的,那我记得好像有个C,这个C是不是能看啊,诶。C是可以看的,C后面跟上这个脚本的名称,它就可以列出这个进程的信息啊。用PID off是直接看不到的啊,PI off直接看不到,用P能看到。好,这是进程PF呢这个。
11:03
X加X就可以了,加X就可以了,PI of。杠X这个就能看到了。诶,PF-X脚本名,那这个还是看不到,这还是看不到。停了是吧,怎么说呢,停了啊,再来执行一次,哎,这回看到了,所以你要是想查看,你得用这个X加上X就可以啊,当然这里面需要注意的就是这个脚本啊,运行的时候这个棒。机智。可以不可以不写呢?如果我不写,你看表面上也能运行,那我们现在用它就搜不到了,看到没就搜不到了啊,所以呢,这个时候你在运行的时候,这个进程虽然在,但是你用刚才说的命令就看不到了。
12:06
你看直接里面都看不到,虽然我确实是运行它的,你看看不到啊,看不到,那他实际上是以best的身份在运行办的身份在运行啊。啊,所以呢,还是告诉大家一个道理,就是你的脚本一定要写消保机制,否则呢,就会出现一些不可预知的结果啊,虽然运行好像没问题,但是一运行将来会产生后续的后遗症啊,啊,这就能看见到了。八。然后接着我们看一下up time up time的这个命令呢,大家不陌生,之前我们见见过up time呢,这个是显示的是这是当前的时间,几点几分啊,这个表示的是。运行了多长时间了,那我们看到它已经运行了八个小时43分钟了啊,那在这个六上呢,可以看一下它执行的时间。
13:12
他有三个小时29分。然后这个地方四呢是表示有四个用户,你看后命令就能看到有四个用户这个load。负载。这个负载说的就是在。一分钟,五分钟,15分钟之内,它的CPU负载情况,这个CPU数字越大,说明服务器越忙,那这个数字一般来讲。有一个官方的提示建议呢,是低于和你的CPU个数有关。CPU个数每颗CPU。应该是不要超过三的啊,什么意思啊,就是如果我有一颗CPU,这个数字不要超过三,有两个CPU不要超过六,有三颗有四颗CPU,那四三,那就是12不要超过12。
14:05
但实际上啊,有经验就是这个数字如果达到五以上比六了,不管你有几个CPU都比较忙啊,就是都比较慢,所以这个数字呢,将来你在生产中可以来监控。比方说我需要用命令把它取出来,取出来以后我是不是就知道这个CPU忙不忙,那如果达到比方说超过六了,我就是不是应该赶紧报警了。对吧,报警了,所以这个CPU为什么这么忙,对吧?因为你说实在的,你企业里面说不定服务器很多啊,几百上千,你不可能挨个每天跑到一个机上去看他的CPU,所以这时候你就要编写一些监控工具,通过监控工具来捕获这些异常的指标。发现他超超指标了,那就赶紧报警啊。那这个东西我们怎么怎么把第一个数字给它取出来。
15:00
啊,或者是把这个数这两个这三个数字都给它取出来,这个怎么取啊。这个简单不简单,实际上要取很简单,怎么取啊,就把这三个数字都给都给它一块取出来。这咋取啊,Cut吧,冒号就空格符取,这是几位呀?这不就第二列,呃第不对,前面有时间1234是吧。四五。啊,不是。123455是吧。开始。好,这是取的,当然你也可以用别的命令取啊。好,还有一个是和CPU相关的,叫m state MP state,这个是需要装这个包才行,所以这个包如果没有装MP。
16:09
这个用不了。啊,那我们就装一下吧,啊,这个工具来装一下叫this。好走,看它的显示结果就这样,前面呢是C,那内核版本号,包括你的主机名,时间,然后你看这里面记录了就是当前的时间,下午这是CPU啊,这是所有CPU的统计,其中这里面记录的内容就是CPU是怎么分配的,其中用户空间。占了多少优先级?内核空间IO等待中断,软中断啊,包括还有被盗取的时间,这个被盗取的时间说的什么意思?
17:04
盗取的时间实际上是和虚拟化有关,比方说大家应该知道在VM里面跑了虚拟机,但是这个虚拟机里面运行的进程对Windows来讲他知道吗?Windows知道不知道你的虚拟机Linux里面运行了哪些进程啊?他不知道,他不知道,但是我们的虚拟机里面的进程运行是不是要消耗时CPU时间片。这时候对于Windows来讲,是不是就觉得有点奇怪了,诶,这个莫名其妙的这个时间片怎么就没了,我也没用啊,莫名其妙就丢了,那是不是被虚拟机给占了。这就是被盗取的时间片对吧,哎,盗取的时间片。啊。那这里面还有什么这个guest啊,Guest,这个guest应该也和虚拟机应该是有关,这是调他的优先级,哎,就用这个命令来查看当前CPU的运行情况,这你可以写个一和三一和三说的什么呢?一和三就说的是我一秒钟扫描一次,三次结束。
18:12
你看。嗯。结束了。就显示其次结果啊,几次结果好,我们看到这边CPU的空闲时间是比较长的,不太忙。没有什么。好,再有就是查看进程的实时状态,刚才的命令啊,他不能实时跟踪。进程的运行情况。我们用top,它可以跟踪一个进程当前服务器进程的运行动态变化的过程。好,大家看这边,可以看到整个进程正在变化,其中最上面这一行。是不是就是我们up time的那个命令的执行结果呀?啊,然后下面这个就是统计了,然后总共有多少个进程,有几个在运行,有几个在睡觉,有几个stop,有几个被僵尸太了是吧。
19:13
这个呢是CPU的总的利用率百分之多少,但是呢,我们也可以输一个数字,把所有CPU全单独统计,一个CPU单独统计用数字一就可以,再看数字一就藏起来了,再看数字一就列出来了。所以它可以切换啊,大家看这里面列出的东西,跟我们刚才运行的那个命令很像,你看用户空间,内核空间优先级,空闲等待硬中断软中断被盗取的时间。啊,无非就是换换成缩写了。然后接下来这是内存的使用情况。这是swap的使用情况。大学。那这些呢,有的是可以改的。那我们有一些快捷键可以来按啊,比方说按这个。
20:04
一我们用过了啊,这个按L键,L键,数字一在这L键呢,可以把上面最上面那一行藏起来,你看那个up time那一行就没了,再按L就出来了啊,数字一我已经说过了,还有呢就是按T键,T键呢,它是可以把CPU的显示信息再换一种显示格式看,这时候以。这种。战略栏的方式来显示T在干。那么再来,再来。看看,那就是不同状态的一个显示。啊,比方说我们让CPU忙一些。CPU忙一些。啊。
21:01
啊,CPU很忙,现在你看这时候他这个CPU利用率是不是就上来就高了。八。好,那这边呢,我们也可以看到这两个CPU的利用率情况如何啊。现在我们发现有的时候是一颗CPU忙,有的时候是两个CPU均匀着忙啊均匀什么。好,那接下来这里面还有其他的一些这个呃,排序方法,比方说P就是以CPU来排序,M就是以内存大小来排序,那比方说输个大M,大家看这时候呢,它就以内存为排序。你看这个占的内存多大?从小,从大到小。
22:00
看来他是比较消耗内存的,我也可以输P键大P1。CPU的利用率。作为排序要求,看到没?哎,这是可以排序的。默认实际上就是以CPU来排序的。啊,另外呢,我们还可以执行一些这样的指令,比方说我们MM就是以显示内存,就是这串,就内存信息也可以加调整M。你看那内存就是变成这种状态形式。啊,可以切换状态啊,那另外呢,我们利用它还可以杀掉某个进程,比方说这个DD啊,它非常消耗CPU,我想把它关了,关了的话呢,我们在这有一个叫K的K就是Q杀掉啊,你看我输K。P的话,他这默认就给你告诉你说你要杀谁,4527,而4527是不是排名第一的那个进程啊,因为他消耗CPU嘛啊,所以这时候呢,你如果你确定就直接回车就好了,确定吗?确定然后怎么杀呀,哎有多种杀法,第一种十五十五就是默认的,还有九这两种杀法啊,一种是强杀,一种是温柔的杀,反正最后都杀了。
23:21
啊,一种是拿这个枪杀是吧,啊,比较血腥,还有一种是给你一个这个给你一根绳是吧,吊死算了是吧,反正是温柔一点,不至于见血啊,就这意思,反分之十五就是那个不见血那个啊默认你看杀了吧,这不DD没了吗,被杀了。啊,当然这个命令呢,它的用法还可以支持一些选项啊,在这我就不展开说了,那这个命令呢,嗯,还有一个增强版的命令叫h top,这个比较花哨啊,所以有些同学可能喜欢用这个需要安装。
24:03
啊,这个是花花里胡哨的套。怎么这么慢?嗯,装个软件都这么卡。看七上装。这网络这么慢,这也太慢了吧,没有人在下下电影吧,你们网络卡吗?那看来就是有人在下电影是吧?我下个这小包总共才多大点啊对吧?谁谁又下下高清大片呢,下完了别忘了分享一下啊。
25:23
好h top看看你看花哨不花哨,是不是一下感觉眼前一亮,哎,这工具更丰富,功能更强,你看这里面还有F1F2这些选择,还可以排序之类的啊啊,这个Q是退出,Q是退出啊。卡死了,你看我装个软件都这么慢,装一个小包一两兆都这么,你不要下东西啊,下东西待会儿我马上就讲了,待会儿哎,我这提前说一下吧,提前来说一说网络吞吐量怎么看。
26:09
这边有一个网络带宽的使用情况,这可以直接看叫I f top f top,你看他能看到谁的IP正在和谁的通讯流量都能看得到,所以咱们直接就可以装个这个工具啊,这个I top啊叫I f top,这没装装一下啊,会员你马上连到服务器上,你看看用这个微令看看谁在消耗带宽,那当然我这没有人,你看我这个机器是这有一个远程主机,这是我的机器,这是远程主机,这不有网络连流量的带宽吗?现在你马上连到服务器上,你看谁的IP谁连的,消耗带宽大,直接把它掐了,不让它上网啊,记住它的IP地址,把它麦克也记住,Mac地址也记住,麦C地址记住IP地址记住封了他不让他上。
27:07
你你他一上不去,他就肯定叫唤了,哎,老师看不了了,你看谁的带宽大,这就看的清清楚楚,这个这加个N的话,数字形式,你看我现在马上拿七,我去七去连一下那个那个八的机器啊,比方我P-S65507啊,你看我P一下这个10.0.8,这时候你马上就能看到大量的流量就过来了,你看这个七是不是100兆的流量,所以你用这个就可以轻松的看到谁正在和你这个机器连接。桂儿,看到了吗?好像是有有味的。啊,这个。有一个内网172的地址,端网地址。
28:00
你连到是咱们的服务器上了吗?对,这个猪八戒没有。不,那个是总带宽,哎,你得你得选中一个网卡,它默认情况下,它选的是外网网卡,你这个地方你选一下这个内网网卡啊,这有个接口啊,这个接口可以选中,你观察哪个网卡,因为默认它是随便找一个网卡,你可以监控一下啊,监控一下啊这个地方你可以选,比方说我这有两个网卡,那你选哪个网卡监控I-IET0,这就是监控这个ET0网卡,听了吧,啊加个N,加个N的话呢,数字式显示,哎,这个之二。这个安全的谁?啊,用这个命令来查,这样的话直接就可以看到,因为你的网卡太多了,它默认找的网卡可能不是你想监控的网卡。看见了吗?发到群里了,发到腾讯课堂里,我瞅瞅到底是谁,哪个大神呢?
29:08
把它麦克记住啊,麦克地址可以AP杠就查了一查,有吗?截下来了吗?你发到腾讯课堂里,腾讯课堂我看一下那个图到底流量有多大。发个图截个图截个屏不能截截屏吗?截了是吧,那这不有吗?哎,那那个流量呢,挡住了流量多少啊。流量,你光有个IP没有流量啊,没人访问了是吧,现在跑了,那下次你就盯着点,一旦有人说喊喊慢你就查,查完了以后封知道吧,封了他上不去,他就肯定找你这样乖,所以你们听话啊,你看我们这现在马上就有工具监控你啊,不是你干坏事别人不知道啊。
30:25
对,我这也能连我都忘了杠I是EPH,哪个网卡呀,哪个网卡是连内网的,E是一是吧,那就是if top-I1G1-N。这有流量吗?上面有流量。这有一兆多的,有三兆多的,这是133,这不是五兆多的吗?22363。
31:15
这不是这在访问这个IP,这个IP是哪的IP啊,1117全是这个样,那这个应该就是属于正常,但是大家访问的是1117189164,这应该是统一的,可能腾讯课堂的。是吧?当然这个东西这样看,还有一个工具看啊,我这直接正好找lolo的也可以看啊,Lolo呢,后面跟上网卡名直接写啊Q退出来漏的,不过呢,这个也需要。看一下你看这个看得很清楚,这是传入的流量啊,这是传输的流量,传入传出的流量。
32:13
这是传入的比较高,传输的比较低,那说明什么都是下载的,都是下载是吧,下载不过现在流量可以达到100多,刚开始达到100兆100兆。平均。有时候高,有时低。啊,这儿还有一个网卡监控工具。呃,这边有一个叫IP叉NG,这是一个压力测试工具啊,压力测试工具你看它装上以后是这样的一个界面,看起来很直观。这个。所以这个工具看起来更漂亮了啊,不过呢,这个需要安装,需要安装。
33:02
这叫把这工具装一下,装一下。这有13兆的,这个是访问的是39的这个IP,这是哪的IP?
34:07
39.141。这这地址39,这还有60多照的,这这这谁啊,这是239。啊。现在这个60多兆的这个下东西了吧。对家的去监控。好,哎,我这装上了,装上以后呢,用IP这个工具,你可以看这个IP流量监控,看到没有,哎,这可以看。哎,假说IIP流量兼顾,你选哪个网卡?一网卡飞车快看,所有都看得清。
35:01
GDP设计。这些通讯的过程,UDB协议好多都是。UDB协是对的啊,UDB说以说明大家正在学习呢,是吧,UDB协议是那个,呃,腾讯课堂正在传输的。数据报。啊,当然你可以看一下,这里面有几个包比较大的。你看这个是600多的。啊,字节这个最大,这不就看到了吗?啊,这是22,它传输流量比较大,这是目前我正在用的这个地址啊,还有这个。啊,这个是幺七二幺六一点一,这个流量也比较大,这是我的机器啊,啊在这也可以看,别的这都可以看到它的通讯流量,对可以看。
36:02
好,可以排序,这个排序呢,你是根据什么排,比方说如果是根据这个包的数量排啊,或者是根据字节数量排大B。大臂会派。啊,这是CTRLC啊,我把它停了啊。X退出。退出这工具更划啊,看到更多啊,所以用这种方法,你可以看到别人的流量,这不一百32兆的这个流量,你看看啊,这144兆,这是1352250这个这个这个机器。
37:03
是吧,这这流量太大了,135250啊,直接防火墙进了不就得了是吧?IP tables-A是吧?杠A杠勾直接记了,哎,上不了网,那叫一声啊IP tables-A-S把杠勾儿原地址。Iptbos-A-S17216不对吗?那怎么敲错了?
38:00
这少了个input,行了行了,这个同学就当然这个他不一定是input,他是他走这个forward,所以应该是forward forward。上不了就吱一声啊。还有这些地址都可以面对找,面对找啊,13825315010106,那这个事都可以,这边你就一个个封啊都封了。然后这个地方NRP就能看到他的那个,呃,IP地址,我刚才加的是那个IP table啊,我刚才加了一个这个地址,那这个地址到底是谁的。
39:09
啊,那可以查ARP上门过滤一下,把这是他的麦克地址00014C是吧,把这个麦C地址记住了啊,啊,比方说我就给他记住了,把这个Mac地址记住了,给它绑定一个IP地址和Mac地址对应关系,这可以绑啊,假如说随便绑一个地址。幺七二幺六零点一二三好了,绑了绑了以后,你如果不是123你就上不去。啊,你只有123才能和我通讯,所以你固定以后就必须使用123,要不你上不了网,然后我可以把这个策略改了是吧,下了。
40:06
哎,你想,除非你把麦克改了,这个麦能改吗?实现也能改,就不能告诉你是吧?告了不就不起作用了吗?这个Mac是哪的哪的地区的呀,能不能查到啊,因为是这样的,查这前一半就能查,因为前一半是他有厂商编号吗?嗯,这个啊,这写着泰啊,这是应该是这是一个虚拟网卡吧,这是。00014C啊这个。那你像我现在这个机器的网卡是不是这个就是。0014C,那不是虚拟的,是真实玩法,应该是。
41:02
你可以查一下这个是哪个哪个厂商的啊,行了,反正他这个麦是不行了啊啊好了,那你们就知道啊,这工具还正是很丰富啊,啊顺便咱们就演示了。有没有同学上不了网的,吱一声啊,上不了网没关系啊,以后你可以用手机流量上啊,流量我控制不了,我这控制不了你流量。啊,那这是刚才咱们顺便啊给大家讲了一些工具啊frame这个之前讲过了free free是看内存的,不过呢,这个六的命令和七八上面free命令显示的效果它不一样。
42:06
在六的上面呢,它显示的时候,它多了中间一行。啊,七和八呢,它只就这一两行,那这个是总内存用了多少,空闲多少,哪些是共享的,哪些是被8BER k使用了,这个呢是可用的,而在六行呢,它这多了一行,这行的这个作用就是从使用的内存中减去被八包开占了内存,那就是说。它减去以后,剩下的这个空间是这么多,为什么要减呢?是这样的,因为你现在使用的内存虽然是这么大,但实际上有一部分是被当缓存用了,虽然它算,实际上它不算真正备用,真正备用的是这块内存。而这个呢,是什么意思?这个就是目前可用的,目前可用的实际上并不是真的可用的,因为有一部分也是可以用的,就是内存中被当缓存的这部分空间,所以把它把这两个加上,就得到了这个结果。
43:08
明白吧,就是这样一个计算。当然free命令呢,我们比较多的用这个H选项,H选项是不是直接以人类一看的格式来单位来显示了,还有一个叫p map,那p map呢,它实现的功能就是来实现查看进程的内存使用情况啊,比方说我非常想知道某一个进程在内存中占多大内存空间,使用了多少内存,就可以用这个命令看,大家看这个命令显示的就是这个进程里面它哪个模块啊,它占了多大内存。这看得清清楚,所以如果说你将来上班以后,发现某一个程序占内存越来越大,越来越大,那你想分析一下这个程序里面到底哪个组件占的内存比较大,你就可以用这个命令来看了,看的非常详细,那它调用的这些模块占了多大内存都有。
44:13
给定位出故障的地方。实际上本质上呢,它实际上就是用来观察啊,一个叫PC max的这个文件实际上是看它的,只不过你直接看它不如用这个命令看的比较容易看懂啊,这个space命令我们说过是系统调用,所以呢,如果你想知道一个命令在执行过程中它是怎么执行的,用这个命令可以跟踪,用L呢,可以查看这个命令在执行过中调用了哪些函数库。啊,这是可以看的啊,入库。当然这个需要有一定的C语言基础啊,C语言基础。还有vm state呢,是查看虚拟存。迅内存占用多大内存空间,哎,就可以用vm state来看,他说我们这vm state你看这就是之前看到的,这里面呢,它显示的信息也可以动态观察,然后一就是一秒执行一次,一秒执行一次,这里面显示的内容R表示可运行的内存数,B呢表示不可中断的睡眠。
45:24
啊,你像这儿。是这个。R是运行的,B是不可中断的睡眠零个这是swap swap呢,它的空间交换的情况啊,Free是空闲的发看是多大,Swa现在是没有使用的,那其中这两个地方需要大家注意,这两个地方表示的是交换内存,硬交换内内存出。那什么意思啊,这个初内存初交换分区和进交换分区,这是什么意思?是不是就是描述了swap的空间的使用情况?
46:05
大家想到有个问题啊,如果我内存不足了,比方说我现在马上创建一个急需要大内存命令,你看我现在总共内存是多大,是两一个g swa是两个G,如果我现在立即要求两个G的内存啊,怎么要求呢?很简单,就这个命令EV啊,那然后呢,我们立即分配两个G内存,那这时候我们立即分配两个G内存,我这会哪个值会变变大?但能想到吗?哪个值会变大?我们都知道现在内存是不够两个G的,不够两个G系统会怎么办?不够两个G是不是就会把内存中暂时不用的数据挪到SCO里边,所以那这时候呢,你应该知道siso谁变大啊?Sis是进W分区是吧?So是出W,事实上理解反了,I并不是进W,它是指出SW。
47:28
啊,So,恰恰是近说,那为什么这么写啊?注意,这个I和O并不是以swap为参照物,而是以内存为参照物,也就是说它的I是指进I进内存,O是指初内存。所以当你需要交换分区的时候,是不是把内存中数据给它,从内存中出来,应该是output出,所以呢,So会变变大,大家看一下是不是这样好,我这回车你再看。瞬间so变长,看到没看到了吧,是不是变长了啊,是不是瞬间大幅增长,看懂了吧?所以它这个I和O不是以交换分区为参照物,是以内存为参照物。
48:18
还有这个IOIO呢bibo,那当然就是磁盘的进,磁盘的出,那现在我再问大家一个问题,如果我从磁盘里读数据,目标是放到内存里面啊,放到内存里面,那请问我这一回车的话,将来谁会大幅增长?啊。我们现在是从磁盘里读到内存里面,你觉得bibo谁涨?啊,那你磁盘从磁盘出来进内存嘛,对不对,所以应该谁涨啊。
49:11
哎,应该是BI,我们对一定是以内存为参照物,不是以磁盘为参照物啊,所以你们你刚才刚说了嘛,你这边又想不起来了,BI大幅增长。是不是注意我们一定是以内存为参照,不是以硬盘,也不是以刚才swap是吧,刚说完的这说就我们刚才说了,你看那SW它也不是以SW为参照物,它是以内存为参照物的。那一统一嘛,大家都以内存为参照物不就得了吗?啊,这不就好理解吗?好记吗?啊。啊,这个是那个CPU利用率啊,包括它的啊这个切换等等这些都好理解。
50:06
好,所以这个命令呢,就知道什么效果了啊。呃,还有什么其他的命令,比方说Dis state state也是查看资源的。啊,自然的。啊,这个呢也是可以,不过需要安装,这个默认没有装。哎,你看这回快多了,果然杀了这个进程好使啊,杀了咱们这个用户好使啊,你看是吧,杀一儆百,马上就不改变了啊,好使。以后记住了,别捣乱啊。下片的时候,你你下片你至少得共享给别人嘛,对吧,一个人看算什么呀,哎,这个你看这个也可以看他这不仅可以看这个磁盘的,重要的是它可以看网络的,看到没有这个网络,网络吞吐量现在是不高的啊,像吐量高一点呢,很简单,我们构建一个比方说我们刚才用的PP是不是可以构建它大量的数据报文,这时候呢,这个流量就瞬间上去了,看。
51:18
瞬间以兆为单位了。看见没有,刚才。是不是以个位数现在都照了。啊,当然如果我再来一个机器的话呢,是不是就更涨得快了,比方说我再来个六也攻击一下,这时候它的流量瞬间又翻倍了,看到没?是不是看到你的网卡特别忙?啊,所以呢,在刚才那个机器上也可以看一下它的流量大不大。啊,刚才那个机器就是咱们那个服务器。那第一。可能诶有你看有他现在流量不大,诶你看果然不大了。
52:03
是吧,你看才多少多少,20兆40兆还可以吧,这么多人啊,这么多人。呃,你看我们的网卡的吞吐量,它是千兆网卡,千兆网卡最多也就达到125兆,所以现在不到,你看20兆,这个吞吐量是能接受的。是吧,二兆吞吐量是能接受的。当然我们那个上网流量应该没那么高啊,上网咱们这个带宽是二百八三百兆。如果按200兆的话,你这个20兆乘八应该也差不多100多兆也没打满,也没打满啊,所以是够的,所以你要不下片的话,咱们这个网络带宽应该是够用的,光腾讯视频看一看问题不大啊,大家看甚至有的时候还达到K级别。
53:03
啊,所以这个流量呢,并不是很大啊,IO top是看磁盘的啊,我现在想看一下我当前的磁盘情况,IO top有的时候呢,咱们可能工作中将来很关心一点,就是我这个磁盘到底忙不忙啊,磁盘到底哪个程序在磁盘里面写了大量数据,或者是读了大量数据,比方说有的时候发现我的系统特别慢,那特别慢的话,到底是谁对磁盘有大量的读写,这个命令看的非常清楚。啊,比方说我现在用刚才的命令,用DD命令,我从磁盘里大量的读数据,因为那大量读数据,这时候呢,你会发现这个命令BD命令,它是不是带来了大量的读操作。下面大量吐槽。
54:02
啊,将来你们要监控磁盘IO,实际上很简单,你把这行答出来就行,就这个IO top,不过呢,你可以取第一个就行。啊取取它的一个啊,取它的一个,那这个IO也要取一个,取最前面的一个怎么取。应该是可以指定次数的啊,应该有一个C什么类似的吧,C是特数,看有没有取一个啊,这个en nn是取一个,那我就取一个就好了,N。哎,取一次就结束。那取一次就结束了,当然取一次的话,我只要去看签名的就行,那这个东西我是不是取第一行就可以了啊,取第一行,比方说第一行。许恩一。
55:00
这不就把这个东西取出来了吗?这是不是前面就是读,后面就是写呀,对吧,当然没有写啊,现在读比较多,然后我现在正在。读读操作,所以你就可以用这个来观察磁盘。服务器的性能如何?这个尤其我们在后面给大家讲那个监控的时候会用监控,因为实际上我们平时工作中监控主要内容是什么?CPU、内存、硬盘I磁盘,网络就这四样。啊,因为这四样最影响咱们服务器的性能啊。刚才网络咱们也知道怎么监控了。那下面呢,还有一些其他的工具啊,这工具我们后面再说,因为我们这边还有一些什么发送信号啊,进程管,作业管理的一些东西,我们下次再说。呃,今天的课程呢,重点就把这个脚本给大家讲了,脚本讲了数组。把数组看一看啊,还有就是。
56:01
Expect我们用了一下啊,它可以代替人工把一些交互式操作非变成非交互啊,还有就是一些高级变量使用方法,高级变量使用方法,另外咱们在这章里面讲了进程管理的。背后的一些原理,包括一些工具,工具今天学了不少,咱们总结总结啊,你们记得哪哪些命令啊,就把我刚才想的那命令都给他写一下。啊,P开头的比较多吧,P开头的不少,P开头有PPF早就写过了,应该。P什么P是吧?还有啥map就是看内存的PI off是吧,还有啥。
57:02
对照的。那咱们这还讲了什么?Prt state prt prt state。P。还有啥啊,屁股不都讲了,还有M。MP。好,还有啥好?泡法H套。Top h top跟踪这个这个之前写过吧。
58:02
所以这是这次就是跟踪系统调用的LLTL跟踪库的库调用的。还有就是IO。IO套。Hop。号写了吧。二。啊,还有IO,还有if top吧。还有啥?一。还有make temp吧,创建临时文件那个说明make,还有expect是吧。
59:08
那实际上还有一个mmk pass。MK pass就是生成那个密码策略的那个。啊,这个实际上是和那个太阳一块装的,还有啥B。AB的开头BEC,啥?Be那是declare早就写过了,Declare应该早就写过了。还有啥BSTBSTBST,对是吧是吧,啊,State不是刚写的吗?这个刚学的啊,State还有ioop vm state还有IP。
60:18
这个IP。把这些工具啊,你们下来抽时间可以试试啊,万一上了班用的话,你不至于想不起来啊啊I top呀什么什么这个的的,还有啥嘞,还有没有今天学的没有写的这里面的。
61:01
那后面我们下课说MKVM。还有今天讲了tra跟踪下个补货那个是吧,实际上今天又用了个Q吧Q。还有啥了?差不多了啊,你看这一一不留神学了快300个命令了啊。那塞满。
62:01
好,你们上不了网的同学可以跟班班主任联系啊,你说你上不了网了啊,然后解释一下咋上不了网了啊啊,或者请顾员老师吃个饭也行啊,给你放开啊,好了,那今天的内容咱们重点就这些啊,把这命令都试一试,因脚本这块还得多练啊,需要大家多练习,好今天课咱们上到这儿下课。
我来说两句