zoukankan      html  css  js  c++  java
  • nmon 安装及使用 【linux环境】

    用的时候比较方便查找,直接转载【https://blog.csdn.net/qq_35304570/article/details/81351065】

    文章转自:https://blog.csdn.net/u010798968/article/details/74932124

                      https://blog.csdn.net/cpplang/article/details/8462768

    1.下载nmon压缩包:

    http://nmon.sourceforge.net/pmwiki.php?n=Site.Download

    根据系统的发型版本及CPU位数选择相应的压缩包下载,如笔者的系统发行版本为:红帽子7.3.1611,cpu 64位:

    所以选择的版本为:nmon16g_x86.tar.gz

    可以下载到本地,再ftp传到linux服务器上,也可以直接在linux服务器上wget 下载链接。

    2.下载后解压缩,有适用于不同linux发行版本的文件,根据自身系统选择不同文件,这里笔者选择的是nmon16g_x86_rhel72:

    根据自身需求重命名及赋权,这里笔者重命名为nmon,赋755权限:

    执行nmon:./nmon,进入nmon实时监控页,按c查看CPU使用信息,按m查看内存使用信息,按n查看网络使用信息,如下图:

    更多命令按h查看帮助信息。

    3.采集系统性能信息,并生成报告

    a.执行./nmon -s3 -c60 -f -m ./report,-s3为每3s收集一次性能信息,-c60为收集60次,-f为生成的文件名包含该文件创建时间,-m ./report为指定测试报告存储路径,如下图:

    执行完收集信息的命令后,生成了以hostname+创建年月+创建时间的文件,并且可以看到有个nmon的后台进程,即为收集服务器性能信息的进程,直到60次收集执行完之后,该进程才会结束。

    b.下载 nmon analyser分析工具,该工具可以将上面生成的.nmon文件转化为图表,更为直观。

    下载地址:https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Power%20Systems/page/nmon_analyser

    下载完解压可以看到有两个文件:

    打开  nmon analyser v51_2.xlsm文件:

    将linux服务器上的报告.nmon文件down下来,点击上图中的Analyze nmon data按钮,选择刚刚down下来的文件,生成可视化图表,如下图:

    另外,如果有同学点击Analyze nmon data按钮后弹出“宏不可用”的提示,Excel可自行百度如何开启宏,wps个人版则需要下载一个插件,笔者放到了网盘里面:

    http://pan.baidu.com/s/1o8iFk6m,可自行下载,下载之后解压,双击vba6chs.msi安装即可,安装好之后重启wps,即可正常使用宏,并生成可视化图表。

    启动过程中遇到问题:提示"libc.so.6: version `GLIBC_2.14' not found"

    1.试图运行程序,提示"libc.so.6: version `GLIBC_2.14' not found",原因是系统的glibc版本太低,软件编译时使用了较高版本的glibc引起的:

    [ghui@StuOS bin]$ pwd
    /var/VMdisks/cross/mingw32/bin
    [ghui@StuOS bin]$ ls
    lrelease     QtCore4.dll         QtNetwork4.dll      QtSql4.dll     QtXml4.dll
    moc          QtDeclarative4.dll  QtOpenGL4.dll       QtSvg4.dll     rcc
    phonon4.dll  QtGui4.dll          QtScript4.dll       QtTest4.dll    uic
    qmake        QtMultimedia4.dll   QtScriptTools4.dll  QtWebKit4.dll
    [ghui@StuOS bin]$ ./qmake 
    ./qmake: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./qmake)
     2.查看系统glibc支持的版本:

    [ghui@StuOS bin]$ strings /lib64/libc.so.6 |grep GLIBC_
    GLIBC_2.2.5
    GLIBC_2.2.6
    GLIBC_2.3
    GLIBC_2.3.2
    GLIBC_2.3.3
    GLIBC_2.3.4
    GLIBC_2.4
    GLIBC_2.5
    GLIBC_2.6
    GLIBC_2.7
    GLIBC_2.8
    GLIBC_2.9
    GLIBC_2.10
    GLIBC_2.11
    GLIBC_2.12
    GLIBC_PRIVATE


    [ghui@StuOS bin]$ rpm -qa |grep glibc
    glibc-static-2.12-1.80.el6_3.6.x86_64
    glibc-headers-2.12-1.80.el6_3.6.x86_64
    glibc-common-2.12-1.80.el6_3.6.x86_64
    glibc-devel-2.12-1.80.el6_3.6.x86_64
    glibc-static-2.12-1.80.el6_3.6.i686
    glibc-devel-2.12-1.80.el6_3.6.i686
    glibc-2.12-1.80.el6_3.6.i686
    glibc-2.12-1.80.el6_3.6.x86_64

    3.可以看到最高只支持2.12版本,所以考虑编译解决这个问题:

           a. 到http://www.gnu.org/software/libc/下载最新版本,我这里下载了glibc-2.14.tar.xz 这个版本,解压到任意目录准备编译

           b.这里解压到/var/VMdisks/glibc-2.14/

    [ghui@StuOS bin]$ cd /var/VMdisks/glibc-2.14/
    [ghui@StuOS glibc-2.14]$ pwd
    /var/VMdisks/glibc-2.14
    [ghui@StuOS glibc-2.14]$ ls
    abilist            config.h.in           intl           README.libm
    abi-tags           config.log            io             resolv
    aclocal.m4         config.make.in        libc-abis      resource
    aout               configure             libidn         rt
    argp               configure.in          libio          Rules
    assert             conform               LICENSES       scripts
    autom4te.cache     CONFORMANCE           locale         setjmp
    bits               COPYING               localedata     shadow
    BUGS               COPYING.LIB           login          shlib-versions
    build              cppflags-iterator.mk  mach           signal
    CANCEL-FCT-WAIVE   crypt                 Makeconfig     socket
    CANCEL-FILE-WAIVE  csu                   Makefile       soft-fp
    catgets            ctype                 Makefile.in    stdio-common
    ChangeLog          debug                 Makerules      stdlib
    ChangeLog.1        dirent                malloc         streams
    ChangeLog.10       dlfcn                 manual         string
    ChangeLog.11       elf                   math           sunrpc
    ChangeLog.12       extra-lib.mk          misc           sysdeps
    ChangeLog.13       extra-modules.mk      NAMESPACE      sysvipc
    ChangeLog.14       FAQ                   NEWS           termios
    ChangeLog.15       FAQ.in                nis            test-skeleton.c
    ChangeLog.16       gmon                  NOTES          time
    ChangeLog.17       gnulib                nptl           timezone
    ChangeLog.2        grp                   nptl_db        tls.make.c
    ChangeLog.3        gshadow               nscd           version.h
    ChangeLog.4        hesiod                nss            Versions.def
    ChangeLog.5        hurd                  o-iterator.mk  wcsmbs
    ChangeLog.6        iconv                 po             wctype
    ChangeLog.7        iconvdata             posix          WUR-REPORT
    ChangeLog.8        include               PROJECTS
    ChangeLog.9        inet                  pwd
    conf               INSTALL               README
     
     

    c.在glibc源码目录建立构建目录,并cd进入构建目录

    [ghui@StuOS glibc-2.14]$ mkdir build
    [ghui@StuOS glibc-2.14]$ cd build
    d.运行configure配置,make && sudo  make install

    [ghui@StuOS build]$ ../configure --prefix=/opt/glibc-2.14
    [ghui@StuOS build]$ make -j4 
    [ghui@StuOS build]$ sudo make install
    [sudo] password for ghui: 
     
    4.临时修改环境变量

    [ghui@StuOS bin]$ export LD_LIBRARY_PATH=/opt/glibc-2.14/lib:$LD_LIBRARY_PATH
    [ghui@StuOS glibc-2.14]$ cd /var/VMdisks/cross/mingw32/bin/
    [ghui@StuOS bin]$ ./qmake 
    Usage: ./qmake [mode] [options] [files]
     
    QMake has two modes, one mode for generating project files based on
    some heuristics, and the other for generating makefiles. Normally you
    shouldn't need to specify a mode, as makefile generation is the default
    mode for qmake, but you may use this to test qmake on an existing project
    ...
    此时运行正常,问题解决。

  • 相关阅读:
    Docker搭建redis集群
    PHP中的OPCode和OPCache
    Redis的三种集群模式
    MySQL事务的隔离级别
    Docker镜像分层技术
    为什么 MongoDB 选择B树,Mysql 选择B+树?
    MongoDB的使用
    cesium+vue挖坑展示
    Ceium+Vue踩坑记录
    渲染总结——记录
  • 原文地址:https://www.cnblogs.com/junbaba/p/14265412.html
Copyright © 2011-2022 走看看