zoukankan      html  css  js  c++  java
  • Linux之系统信息和性能监测

                       Linux之系统信息和性能监测

    一、前言

    安装完一套linux操作系统我们首先得知道系统都有哪些信息,比如安装内存多少、磁盘多大、什么版本、多少核CPU等等,因此熟悉常用的查看系统信息的指令还是很有必要的。此文档主要对已安装的linux系统的属性有个初步的认识,介绍系统自带的常用性能监测指令和一款安装在linux系统下的开源性能测试工具:nmon,用于观测linux系统内核以及应用软件在linux系统下安装部署后运行的性能,为linux服务器系统运维人员排查问题和优化性能瓶颈提供帮助。

    二、查看系统信息指令

    1.查看CPU信息:【cat  /proc/cpuinfo】可以查看每个cpu的信息

     

    2.查看内存信息:【cat  /proc/meminfo】查看整个系统的内存使用情况

     

    3.查看磁盘分布:【fdisk –l |grep Disk】

     

    Linux文件系统也是磁盘分区的哦,如果你去安装linux时就需要搞清楚哪些分区的最小安装空间是多少啦!上图我们可以看到系统磁盘总空间为500.1G,其中根目录root占用53.7G,交换区swap:3858MB,home目录:104.9G

    4.查看linux的系统信息:【uname –a】,选项a表示所有“all”

     

    该命令说明了linux的内核(kernel)版本,如上图的红色框,以及linux是x86_64的64位操作系统,此内容很重要,这个系统属性决定了以后需要安装对应的64位的应用程序包

    5.查看操作系统版本:【cat  /etc/issue】

     

    上图可以看到我们安装的为:linux发行的红帽专业版6.5

    6.查看系统的运行时间和当前时间:【uptime】&【date】

     

    Uptime显示系统运行时间以及系统当前的平均负载(load average)情况,date显示当前系统时间

    三、系统自带的性能监测指令

    Linux服务器性能监测总体包括:cpu监测、内存监测、进程监测、网络监测以及I/O监测

    1.top指令:top命令为查看系统整体运行进程相关、CPU相关、内存相关和具体每个进程的相关性能数据

     

    其中第1行:系统运行时间

    第2行:运行进程数量

    第3行:CPU相关,如图可以看到系统是8核的CPU(按数字键1展开或隐藏)

    第4行:内存相关

    第5行:交换区相关

    最后6:具体的进程信息

    如果只想看到某一个进程,可以通过top  -p 进程号(-p表示PID)来展示出来,如上图SMT的PID为21449,因此可在命令行输入:top  -p 21449

    结束top按组合键ctrl+c即可。

    2.mpstat命令:查看具体每个CPU的使用情况

       mpstat用法如下图

     

    其中【mpstat –P ALL 5 2】表示每5秒显示系统所有8个cpu的使用情况,一共刷新2次。

    3.vmstat命令:查看虚拟内存(Virtual Memory)使用状况的工具

      虚拟内存:在系统中运行的每个进程都需要使用到内存,但不是每个进程都需要每时每刻使用系统分配的内存空间。当系统运行所需内存超过实际的物理内存,内核会释放某些进程所占用但未使用的部分或所有物理内存,将这部分内存提供给有需要的进程使用。

    Vmstat常用的格式:【vmstat 刷新间隔时间 刷新次数】,如下图【vmstat 2 10】表示每隔2s刷新一次,刷新10次停止

     

    介绍下部分列表字段的含义:

    Procs(进程):

    r : 运行和等待cpu时间的进程数,如果长期大于1说明cpu不足

    b: 在等待的资源进程数

    memory(内存):

    swpd: 切换到交换区的内存

    free :可用内存大小

    buff:缓存大小

    swap(交换区):

    si和so:内存进出交换区的数量

    cpu(百分比):

    us:用户进程执行时间

    sy:系统进程执行时间

    id:空闲时间

    4.free命令:查看系统内存使用情况,展示总内存、已使用、缓存内存等

     

    通过【free --help】帮助文档,我们可以通过【b、k、m、g】等选项来显示内存

    5.iostat命令:查看i/o输入输出情况,更多时候我们关注磁盘的I/O,使用【iostat –d –k 刷新时间间隔 刷新次数】,如下图表示每隔1s刷新一次,一共刷新2次,我们可以看到每个磁盘当前的I/O读写总量等信息。

     

    6.netstat命令:显示网络及其网络端口信息

    常用命令:【netstat –a |more】:显示所有端口,包括监听和未监听的

     

    【netstat -la】显示所有监听端口,【netstat -at】只显示tcp端口,【netstat -au】只显示udp端口。

    其他相关的性能监测指令:

    ps、pstree :显示所有进程和进程树

    tcpdump:网络抓包分析器

    lsof:列出所有打开的文件、进程等

    四、开源性能监测工具:nmon以及nmon analyser

    Linux系统除了上面介绍的性能监测指令和工具外,还可以安装开源的能适用于linux系统的性能监测工具,这些工具凝聚了诸多的指令,不仅仅能实时调用查看,还能采集一段时间内的性能数据,生成性能数据文件,拷贝出来后直接转换成excel表格显示,功能强大易用。nmon这款开源的工具就具有以上的属性和功能。

    1.nmon资源下载:

    nmon的linux版本安装包可以再IBM官方网站上免费下载,下载路径:

    https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Power%20Systems/page/nmon

    注意:官网上有很多版本,如果你的linux是64位的就下载64位的程序包,并选择对应的适用于自己的linux发型版本

    nmon和nmon analyser的版本需要对应,否则采集的数据在nmon analyser中打不开,本人亲自验证过(^.^)

    这里我的linux是redhat 6.5 ,64位的系统,我下载的工具包为:

     

    nmon和nmon analyser的版本是对应的。

    2.安装nmon和nmon analyser

    将我们下载的【nmon_linux_14g.tar】这个tar包通过运行在windows的SSH客户端文件传输工具(这里我使用的是:secureFX),直接拷贝到我们指定的linux目录下,这里我拷贝到我的系统【/usr/local/bin】路径下

     

    然后通过secureCRT来远程登录我们的linux服务器,cd进入到我们拷贝的nmon安装包路径下,可以看到工具包是一个扩展名为.tar.gz的压缩文件,因此我们需要解压这个文件,解压tar包我们用tar命令,具体命令为:【tar –xzvf nmon_linux_14g.tar.gz】,解压出来后,如下图,我们找到需要的文件,这里我选择【nmon_linux_x86_64】这个适合系统的64位文件

     

    这样就已经安装完毕nmon

    nmon analyser并不需要安装在linux下,它是用来查看nmon采集的性能数据的,直接在windows下解压nmon analyser即可,它就是一个excel文件,只是它可以打开扩展名为.nmon的文件。

    3.nmon使用

    nmon使用很简单,只需要在命令行键入【./ nmon_linux_x86_64】来执行这个文档即可,不过在执行前我们需要确保该文档有可执行的权限,一般安装完后该文件是没有【x】即我们之前介绍的linux文件权限说到的,因此这里我们使用【chmod 777 nmon_linux_x86_64】来给它最高的权限。再执行【./nmon_linux_x86_64】,出现如下图的nmon界面

     

    在nmon界面已经介绍了它的用法,以及用法帮助,如我们输入【c】即可获取系统cpu信息,【m】可以获取内存信息等等,以及在命令行输入【nmon -h】可以了解nmon的所有用法,按【q】退出nmon界面,效果如下:

     

    在nmon里我们几乎可以显示系统的所有的性能指标,不仅仅如此,我们还可以通过键入命令来采集一段时间的性能数据,具体指令为:【nmon –s 10 –c 12 –f –m /tongdepu】,选项说明:-s 表示数据采集时间间隔,这里我们是10s采集一次,-c 表示数据采集次数,这里我们采集12次,即我们共采集10*12s=120s的数据,-f 表示生成的数据文件按标准的时间格式命名,-m 表示选择文件保存路径,这里我们保存在根目录下的【tongdepu】这个文件下,通过【ls –al】展开查看生成的扩展名为.nmon的文件,效果如下图:

     

    这样我们的数据文件采集好了,然后打开secureFX文件传输工具,进入到【/tongdepu】这个目录下找到刚才采集生成的文件,直接拷贝出来,然后打开nmon anlyser工具包解压出来的excel文件

     

    打开这样子的;

     

    在选择.nmon文件前我们还需要设置excel表格的【宏】功能,只有开启宏功能才能读取打开该.nmon文件,具体设置如下:点击【开始】菜单-【Eccel选项】的信任中心里找到【宏设置】,然后启用所有宏即可,如下图

     

    然后点击表格中的【Analyse nmon data】按钮,选择刚才采集生成的.nmon文件,会生成各项性能数据报表和统计图

     

    在nmon anlyser工具包还有相关的用户使用说明:

     

    这样性能数据监测采集到图形化输出完成,后续根据各个性能指标分析即可。

  • 相关阅读:
    不干就不需要知道,不需要知道就不想知道,不想知道就永远不知道,猪混几十年还是猪
    Visual Studio 2015编译安装配置QT5.5.1(含QTWEBKIT)
    IT生涯, 我的常用软件清单
    WIN10以后如果Manifest中不写支持WIN10的话,获取版本号的API获取的是6
    大促准备流程
    T4模板合并js
    maven/eclipse搭建ssm(spring+spring mvc+mybatis)
    如何理解分布式和区块链技术
    MaidSafe.net,一个完全去中心的化的云存储系统
    Akka.NET是Java/Scala 流行框架Akka的一个 .NET 开源移植
  • 原文地址:https://www.cnblogs.com/tdp0108/p/12407747.html
Copyright © 2011-2022 走看看