你们好,前几天听他人说,如今面试运维的时侯linux虚拟机,竟然还有一个列出所有已知的监控命令。。。我寻思了半天,又从网上找了找,如今基本就找齐了linux 网络性能监控,明天就和你们说一下打算的这种监控命令吧。
虽然我们在实际工作中,会时常的使用监控命令的,还记得才开始工作的时侯,就必需要自己写监控脚本,就很难受,那时侯linux获取当前时间,是老弄错了啊。。各类熬夜练习,测试。。。
好吧,不屁话了,开始明天的监控讲解吧。
===================================================================================
我们的系统一旦上线跑上去我们自然希望它仍然相安无事,不要宕机,不要无响应,不要慢腾腾的。并且这不是打开机器电源之后纵容不管就可以得到的。所以我们要监视系统的运行状况linux 网络性能监控,发觉问题及时处理。
对于系统和网路管理员来说每晚监控和调试Linux系统的性能问题是一项艰巨的工作。监控和保持系统启动并运行是很不容易的一件事。为此实验楼介绍部份linux的系统监控命令。
(1)Linux进程监控:TOP
Linux下的Top命令是一个性能监控程序,许多系统管理员经常用它来监控Linux性能,在许多Linux或则类Unix操作系统里都有这个命令。
Top命令用于按一定的次序显示所有正在运行并且处于活动状态的实时进程,并且会定期更新显示结果。这条命令显示了CPU的使用率、内存使用率、交换显存使用大小、高速缓存使用大小、缓冲区使用大小,进程PID、所使用命令以及其他。它还可以显示正在运行进程的显存和CPU占用多的情况。
$top
操作截图:
在图中依次可以看见进程PID,进程用户,CPU使用率,显存使用率、交换显存使用大小等等信息。top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.
通过mantop可以查看到详尽的top命令使用方法。
$mantop
操作截图:
(2)虚拟显存统计:vmstat
Linux的VmStat命令用于显示虚拟显存、内核线程、磁盘、系统进程、I/O块、中断、CPU活动等的统计信息。
通常vmstat工具的使用是通过两个数字参数来完成的,第一个参数是取样的时间间隔数,单位是秒,第二个参数是取样的次数,
$vmstat21
$vmstat22
操作截图:
假如要求vmstat每2秒采集数据,仍然采集,直至结束程序(Ctrl+c)。则省略采集次数:
$vmstat2
测试参数讲解:
r:表示运行队列,假如运行队列过大,表示你的CPU很忙碌,通常会导致CPU使用率很高
b:表示阻塞的进程数swpd:虚拟显存已使用的大小,假若小于0,表示你的机器化学显存不足了,若果不是程序显存泄漏的缘由,这么你该升级显存了或则把耗显存的任务迁移到其他机器
free:空闲的数学显存的大小
buff:系统占用的缓存大小
cache:直接拿来记忆我们打开的文件,给文件做缓冲
si:每秒从c盘读入虚拟显存的大小,假若这个值小于0,表示数学显存不够用或则显存窃取了
us:用户CPU时间
sy:系统CPU时间
so:每秒虚拟显存写入c盘的大小,假若这个值小于0,同上。
sy:系统CPU时间,假如太高,表示系统调用时间长,比如是IO操作频繁。
id:空闲CPU时间,通常来说,id+us+sy=100
wt:等待IOCPU时间。
(3)列举打开的文件:lsof
它常用于以列表的方式显示所有打开的文件和进程。打开的文件包括c盘文件、网络套接字、管道、设备和进程。
使用这条命令的主要情形之一就是在难以挂载c盘和显示正在使用或则打开某个文件的错误信息的时侯。使用这条命令,你可以很容易地看见正在使用那个文件。
$lsof
操作截图:
此命令运行的结果较长,截图部份。
(4)网路包剖析器:tcpdump
Tcpdump是最广泛使用的网路包剖析器或则包监控程序之一,它用于捕捉或则过滤网路上指定插口上接收或则传输的TCP/IP包。
它还有一个选项用于把捕捉到的包保存到文件里,便于之后进行剖析。
·-h:查看命令帮助
·-i:网路插口
·-c:须要输出包数目
$sudoapt-getupdate
$sudoapt-getinstalltcpdump
$tcpdump-h
$sudotcpdump-ieth0-c3
操作截图:
(5)网路状态统计:netstat
Netstat是一个用于监控进出网路的包和网路插口统计的命令行工具。它是一个十分有用的工具,系统管理员可以拿来监控网路性能,定位并解决网路相关问题。
·-h:查看帮助
·-r:
·-i:查看网路插口
$netstat-h
$netstat-r
$netstat-i
操作截图:
(6)进程监控:Htop
Htop是一个十分中级的交互式的实时linux进程监控工具。它和top命令非常相像,而且它具有更丰富的特点,比如用户可以友好地管理进程,快捷键,垂直和水平形式显示进程等等。
Htop是一个第三方工具,它不包含在linux系统中,你须要使用管理工具去安装它。
$sudoapt-getinstallhtop
$htop
(7)监控Linuxc盘I/O:iotop
iotop命令同样也十分类似于top命令和Htop程序,不过它具有监控并显示实时c盘I/O和进程的统计功能。在查找具体进程和大量使用c盘读写进程的时侯,这个工具就十分有用。
这个命令只有在kernelv2.6.20及之后的版本中才有。python版本须要python2.7及以上版本。因为系统缘由,实验环境并不支持此命令。此处仅做介绍。
(8)输入/输出统计:iostat
iostat是一个用于搜集显示系统储存设备输入和输出状态统计的简单工具。这个工具经常拿来追踪储存设备的性能问题,其中储存设备包括设备、本地c盘,以及例如使用NFS等的远端c盘。
$sudoapt-getinstallsysstat
$iostat
操作截图:
各项含意:avg-cpu段:
%user:在用户级别运行所使用的CPU的比率.
%nice:优先进程消耗的CPU时间,占所有CPU的比率.
%system:在系统级别(kernel)运行所使用CPU的比率.
%iowait:CPU等待硬件I/O时,所占用CPU比率.
%steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间比率.
%idle:CPU空闲时间的比率.
Device段:
tps:每秒钟发送到的I/O恳求数.
KB_read/s:每秒读取的block数.
KB_wrtn/s:每秒写入的block数.
KB_read:启动到现今读入的block总量.
KB_wrtn:启动到现今写入的block总量.
查看帮助:
$maniostat
(9)实时局域网IP监控:IPTraf
IPTraf是一个在Linux控制台运行的、开放源代码的实时网路(局域网)监控应用。它采集了大量信息,例如通过网路的IP流量监控,包括TCP标记、ICMP详尽信息、TCP/UDP流量分离、TCP联接包和字节数。同时还采集有关插口状态的常见信息和详尽信息:TCP、UDP、IP、ICMP、非IP,IP校准和错误,插口活动等。
$sudoapt-getinstalliptraf
$sudoiptraf
操作截图(注意图片中下边的提示操作信息。):
查看命令帮助信息,依据须要选择合适的参数,进行监控。此处便不再赘言命令参数:
$sudoiptraf-h
好的,明天的讲解就到这儿吧。
你们好好的瞧瞧吧。对了,真心的希望你们留言数下希望讲哪些东西。。。我老是自己找须要讲的东西,都没时间玩游戏了。。。每晚我的游戏时间也就才半小时。。。求你们心痛。。。
好吧,你们今天见。