大数据培训之旅——Linux-8(系统监控)

    系统监控这东西,我觉得运维看看还不错,大数据不需要做太多的深入研究,但是因为这是介绍Linux的文章,所以什么都要说一下。当然这里演示的部分相对以前较少,因为一个命令就可以查出来一大堆东西,主要就是介绍这堆东西有什么,都是什么意思,所以文字相对较多。

    首先,我们介绍下进程的状态,运行(正在运行或在运行队列中等待)

                                                   中断(休眠中,受阻,在等待某个条件的形成或接受到的信号)

                                                   不可中断(收到信号不唤醒和不可运行,进程必须等待直到有中断发生)

                                                   僵死(进程已终止,但进程描述符存在,直到父进程调用wait4()系统调用后释放)

                                                   停止(进程受到SIGSTOP,SIGSTP,SIGTIN,SIGTOU信号停后停止运行)

    之后我们使用ps工具来管理进程:ps工具同样标识了进程的5种状态:D:不可中断,R:运行,S:中断,T:停止,Z:僵死

——————————————————

    ps aux查看到的信息,分别是:user:进程拥有者,PID:pid标识,%CPU:占用的CPU使用率,%MEM:占用的记忆体使用率,VSZ:占用的虚拟记忆体大小,RSS:占用的记忆体大小,TTY:中断的次要装置号码,STAT:该行程的状态(D:不可中断的静止,R:正在执行中,S:静止状态,T:暂停执行,Z:不存在但暂时无法消除,W:没有足够的记忆体分页可分配,<:高优先顺序的进程,N:低优先顺序的行程,L:有机一体分页分配并锁在记忆体内(即时系统)),START:行程开始时间,TIME:执行的时间,COMMAND:所执行的指令。

    当然ps还有很多指令选项,不过对于我们来说aux足够了。接下来我们说下top命令。top是Linux下常用的新能分析工具,类似ps命令,top可以实时的显示系统中各个进程的资源占用情况,就和windows里的资源管理器类似。

——————————————————    

    第一行是任务队列的信息,分别为当前时间,系统运行时间,当前登录用户数,系统负载;

    第二行三行是cpu的信息和行为进程的信息,当有多个cpu,可能会有很多行,分别是总进程数,正在运行的进程数,睡眠进程数,停止的进程数,僵尸进程数,用户空间占cpu的百分比,内核空间占cpu的百分比,用户进程空间内改变过优先级的进程占用的百分比,等待输入输出的cpu时间百分比;

    最后两行为内存信息,分别为Mem:内存物力总量,used:使用的物理内存总量,free:空间内存总量,buffers:用作内核缓存的内存量,swap:交换区总量,used:使用的交换区总量,free:空闲交换区的总量,cached:缓冲的交换区总量;

    之后的进程信息分别为,PID:进程id,USER:进程所有者用户名,PR:优先级,NI:nice值(正负表示优先级,负值为高),VIRT:进程使用的虚拟内存总量,RES:进程使用未被换出的物理内存大小,SHR:共享内存大小,S:进程状态,%CPU为上次更新到现在CPU时间占用百分比,%MEM进程使用的物理内存百分比,TIME+:进程使用的CPU时间总计,COMMAND:命令名。

    真的是超级多的信息,之后我们来说下一个sar系统活动情况报告,我们需要安装一个sysstat-7.0.2-3.el5.i386.rpm,这东西依然是yum源安装,当然不同版本可能不一样,直接挂载红帽5的镜像用yum -y install就行。安装很简单这就不重复演示了,安装完成后我们来举个例子使用这东西。

    比如CPU资源监控,每十秒采样一次,连续采样三次,观察CPU的使用情况,并将结果以二进制的形式存入桌面下的test文件中。

——————————————————

    废了这么半天劲,分析了半天具体干啥也不清楚,就看这些数啥用没有,那我们看看都怎么分析,如果iowait的值过高,表示硬盘存在I/O瓶颈;如果%idle的值高但是系统响应慢,有可能是CPU等待分配内存,这时候就应该加大内存容量;如果%idle的值持续低于1,则系统CPU的处理能力较低,表明需要解决的资源问题是CPU。

    再来看下一个例子,内存和交换空间监控,每十秒采样一次,连续采样三次,监控内存分页。

——————————————————

    继续继续,内存分页监控,每十秒采样一次,连续采样三次,监控内存分页。

——————————————————

    下一个I/O和传送速率监控,每十秒采样以此,连续采样三次,报告缓冲区的情况。

——————————————————

    需要判断系统瓶颈的时候,有时需要好几个sar命令结合,比如怀疑CPU存在瓶颈,使用sar -u和sar -q等查看;怀疑内存瓶颈,使用sar -B、sar -r和sar -W;怀疑I/O存在瓶颈使用sar -b、sar -u和sar -d等查看。

    下一个介绍的是vmstat工具,据说这是最常见的监控工具,和之前的sar命令类似(不知道大家看没看出来格式),有两个参数,第一个是时间间隔,第二个是采样次数。

——————————————————

    其中r表示运行队列(就是说有多少个进程真的分配到了cpu),这个值超过cpu数目就说明出现了cpu瓶颈,一般超过3个就比较高了,5个就很高冷,10个就不正常了,对于服务器很危险;b表示阻塞的进程个数;swpd:虚拟内存使用的大小,如果大于0则表示物理内存不足了;free:空闲内存的大小;buff:存储目录内容以及权限的缓存;cache:用来给打开过的文件作欢村,提高执行性能;si:每秒从磁盘读入虚拟内存的大小,如果大于零则表示物理内存不足或者内存泄漏了;so:每秒虚拟内存写入磁盘的大小,大于零和si一样的情况;bi:块设备每秒接收的块数量;bo:块设备每秒发送的块数量,一般bi和bo都要接近于0;in:每秒cpu的中断次数,包括时间中断;cs:每秒上下文切换次数(大概就是调用系统函数以及线程切换都需要调用);us:用户cpu时间;sy:系统的cpu时间,如果太高则表示调用时间长,比如io操作频繁;id:空闲cpu时间,一般来说id+us+sy=100;wt:等待io的cpu时间。

    iostat:I/O相关的统计信息,用来显示cpu和I/O系统的负载情况及区分状态信息

——————————————————

avg-cpu段:

        %user:在用户级别运行所使用的CPU百分比

        %nice:nice操作所使用的CPU百分比

        %sys:在系统级别(kernel)运行所使用的CPU的百分比

        %iowait:CPU等待硬件I/O时,所占用的CPU百分比

        %idle:CPU空闲时间的百分比

Device段:

         tps:每秒钟发送到I/O的请求数

         Blk_read /s:每秒读取的block数

         Blk_wrtn/s:每秒写入的block数

         Blk_read:读入的block总数

         Blk_wrtn:写入的block总数

    当然lostat也可以在后面写参数比如:lostat -d 2:每隔两秒,显示一次设备统计信息;lostat -d 2 6:每隔两秒,先试一次设备统计信息,一共输出六次;iostat -x hda hdb 2 6:每隔两秒先试一次hda,hdb两个设备的扩展统计信息,共输出六次;iostat -p sda 2 6:每隔两秒显示一次sda以及上面所有的分区的统计信息,共输出六次。

    lsof是用来查看当前系统打开文件的工具,常用的参数有:filename:显示打开指定文件的所有信息;-a:表示两个参数都必须满足时才显示的结果;-c+string:显示command列中包含指定字符的进程所有打开的文件;-u+username:显示所述user进程打开的文件;-g+gid:显示归属gid的进程情况;+d /DIR/:显示目录下被进程打开的文件;+D /DIR/:同上,但是会搜索目录下所有目录,相对时间较长;-d+FD:显示指定文件所描述的进程;-n:不将ip转换为hostname,缺省值;-i:用以显示符合条件的进程情况。下面举几个例子看看如何使用:

    查看22端口现在的运行情况

——————————————————

    查看所属root用户进程所打开的文件类型为txt的文件

——————————————————

    查找哪个用户在使用文件系统,无法卸载文件系统时使用,用于找出使用文件系统的进程

——————————————————

    Linux还有很多知识点,当然还包括shell脚本,这东西有点复杂,因为涉及到了编程的知识,于是乎,我决定写完java之后找时间再写。那么Linux就到这里了,接下来就是Java基础

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值