• 源码安装nmon---初见


    **.自己写完后看了都觉得好啰嗦,大家想要看的话最后是先从头到尾读一遍,然后再动手,可能会好一些

    nmon:一款监控Linux的cpu,内存,硬盘等等性能的开源软件

    就不说当前版本是啥玩意儿了,因为没啥意思,过两天又升级版本了,让别人看这篇随笔有种不舒服的感觉,感觉说的和自己想要的不一样,所以我就写一个通用的方法,这里说是通用的说法也只是我的一面之辞,自我感觉而已。希望不会耽误大家。

    ps.另外还是说一下,我用nmon的情况吧,当前官方的最新版本为nmon16f,可是上官方看到编译好的二进制包是最新版本的cpu架构都是针对power的,而我的是X86_64,所以只能用源码编译,但是看官方关于源码编译的文档说先下nmon*.c然后再下makefile,问题就来了,lnmon*.c倒是有,但是makefile藏哪了,死活都找不着,最后在github中找到的

    ---------------------------------------------

    上面都是费话下面进入正题:

    1.nmon的源码编译需要两个文件:  lnmon*.c 和 makefile ,其中*表示的是你想编译的版本号

        ?如何获得lnmon*.c文件

        ::方法一:进入nmon的官方,左手边的菜单点击source code,右侧页中有一个Downloads表格,一般第一个文件都是最新的nmon*.c

        ::方法二:首先进入方法一的source code页,然后进入项目托管的链接地址,去里面下载 

        ?如何获得makefile文件

        ::进入项目托管链接,然后ctrl+f搜索makefile,下载即可

        **.附上当前的相关地址:

        nmon官方网址: http://nmon.sourceforge.net/pmwiki.php

        source code页网址: http://nmon.sourceforge.net/pmwiki.php?n=Site.CompilingNmon

        代码拖管地址:https://sourceforge.net/projects/nmon/files/

    2.修改makefile文件

        ?根据什么修改该配置文件

        ::从宏观上需要修改的就一处,先看一下

        nmon_x86_64_debian8:
        cc -o nmon_x86_64_debian8 $(FILE) $(CFLAGS) $(LDFLAGS) -D X86 -D debian8


        nmon_power_rhel3: $(FILE)
        cc -o nmon_power_rhel3 $(FILE) $(CFLAGS) $(LDFLAGS) -D POWER

        nmon_power_rhel4: $(FILE)
        gcc -o nmon_power_rhel4 $(FILE) $(CFLAGS) $(LDFLAGS) -D POWER

        nmon_power_rhel5: $(FILE)
        gcc -o nmon_power_rhel5 $(FILE) $(CFLAGS) $(LDFLAGS) -D POWER

       上面这几行是我从makefile里面复制出来的,可以看出来它们是两行一组,当然这里我只复制出了一少部分,还有好多的这样组,你可以在文件里面搜一下有没有符合你当前        cpu架构和linux发行版的组,有的话就将那一组复制到这样组的最上面,注意不是文件的最上面,是这样组的最上边;就是说你看这样的组是从哪一行开始的,你就将符合你现有    条件的那两行给排到这样组的首行;如果当前组中没有精确符合你要求的组,则你要从里面找出一组最接近的,怎么找最接近的呢,一般来说,debian和ubuntu是同源的,红帽    (redhat)和centos,fedora是同源的;举个例子,我的机子,cpu架构是x86_64,系统是ubuntu16,假如当前的makefile中没有,则我的思路是:先查找架构x86_64,以它为关    键字搜索,将搜索到的结果看个遍,结果发现没有nmon_x86_64_ubuntu16但是有nmon_x86_64_debian8(见上面复制出来的第一行),所以我就将:

       nmon_x86_64_debian8:
       cc -o nmon_x86_64_debian8 $(FILE) $(CFLAGS) $(LDFLAGS) -D X86 -D debian8

      上面这两行改为:

      nmon_x86_64_ubuntu16:
      cc -o nmon_x86_64_ubuntu16 $(FILE) $(CFLAGS) $(LDFLAGS) -D X86 -D ubuntu16

      然后将修改过的这两行放到同类型开始的最上边(注意不是文件的最上边)

      保存退出即可

    3.将lnmon*.c改名为lmon.c(因为上面说的配置文件makefile中用的变量名是lmon.c)

      :: mv lnmon*.c lmon.c

    4.执行make makefile(注意lmon.c和makefile要在同一目录下)

     ::等待一会儿就会生成一个“nmon_架构名_版本名”的一个文件,如nmon_x86_64_ubuntu16

    6.此时我们执行./nmon_x86_64_ubuntu16就可以运行了,但是一般都是将该文件放到PATH路径下,通常是/usr/local/bin下并改名为nmon

      :: cp nmon_x86_64_ubuntu16 /usr/local/bin/nmon

      **.注意,如果运行不了的话看看是不是没有给可执行权限

        ::chmod +x /usr/local/bin/nmon

    ------------------------------------------------------------

    上面说的比较啰嗦,总结一下:

    1.下载lnmon*.c文件和makefile文件

    2.修改makefile文件(其实如果不愿改的话,可以尝试着不动该文件直接执行第三步,但是不建议这么做,因为我试过成功了,但是修改前后的nmon首页输出的内容不同)

    3.执行make makefile

    4.将生成的文件改为简写的nmon并且放到PATH路径下(方便直接输入名称就能运行,而不用输绝对路径了)

    ----------------------------------

    正如标题所写的为“初见”,只是刚刚能将nmon给运行起来,具体哪块不是很正确还需要下来再看,有时间会再看看,如有需要再补上一篇

    ::其实很简单的一件事,最好说的好啰嗦,因为怕以后自己看不明白,也生怕别人看不明白,所以就想事无巨细的写,但往往越是想让别人看明白,写的越多,文笔再不好最好就把别人搞晕了,好心办坏事~~

  • 相关阅读:
    java.lang.UnsupportedClassVersionError: com/android/dx/command/Main : Unsupported major.minor version 52.0
    VS .sln .csproj 文件的右键编译
    任务失败,因为未找到“AxImpexe”,或未安装正确的 Microsoft Windows SDK
    对数据集“dsArea”执行查询失败。 (rsErrorExecutingCommand),Query execution failed for dataset 'dsArea'. (rsErrorExecutingCommand),Manually process the TFS data warehouse and analysis services cube
    In-Place upgrade to Team Foundation Server (TFS) 2015 from TFS 2013Team Foundation Server TFS TFS 2015 TFS upgrade TFS with Sharepoint
    VS2015开发环境的安装和配置 2016-07-03更新
    【Android】将Xamarin For VS升级为4.1.0.530版
    Win10年度更新开发必备:VS2015 正式版下载汇总
    Win10年度更新开发必备:VS2015 Update 1正式版下载汇总
    Win10年度更新开发必备:VS2015 Update 2正式版下载汇总
  • 原文地址:https://www.cnblogs.com/lianrenjujishou/p/6555937.html
Copyright © 2020-2023  润新知