源码安装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给运行起来,具体哪块不是很正确还需要下来再看,有时间会再看看,如有需要再补上一篇

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

转载于:https://www.cnblogs.com/lianrenjujishou/p/6555937.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
nmon version 12f for Redhat linux, 我在ubuntu 10.10下编译成功,编译过程如下: make cc -o nmon_power_rhel3 lmon.c -g -O2 -D JFS -D GETUSER -Wall -D LARGEMEM -lncurses -g -D POWER lmon.c:26: fatal error: ncurses.h: 没有那个文件或目录 compilation terminated. make: *** [nmon_power_rhel3] 错误 1 zale@zale-infohold:~/下载/nmon-12f$ zale@zale-infohold:~/下载/nmon-12f$ sudo apt-get install libncurses5-dev [sudo] password for zale: 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 下列软件包是自动安装的并且现在不需要了: nvidia-cg-toolkit libogremain-1.7.3 libogrepaging-1.7.3 libogreterrain-1.7.3 libmygui 使用'apt-get autoremove'来卸载它们 下列【新】软件包将被安装: libncurses5-dev 升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。 需要下载 1,580kB 的软件包。 解压缩后会消耗掉 6,693kB 的额外空间。 获取:1 http://archive.ubuntu.com/ubuntu/ maverick/main libncurses5-dev i386 5.7+20100626-0ubuntu1 [1,580kB] 下载 1,580kB,耗时 53秒 (29.4kB/s) 选中了曾被取消选择的软件包 libncurses5-dev。 (正在读取数据库 ... 系统当前共安装有 236248 个文件和目录。) 正在解压缩 libncurses5-dev (从 .../libncurses5-dev_5.7+20100626-0ubuntu1_i386.deb) ... 正在处理用于 man-db 的触发器... 正在设置 libncurses5-dev (5.7+20100626-0ubuntu1) ... zale@zale-infohold:~/下载/nmon-12f$ make cc -o nmon_power_rhel3 lmon.c -g -O2 -D JFS -D GETUSER -Wall -D LARGEMEM -lncurses -g -D POWER zale@zale-infohold:~/下载/nmon-12f$ ls -l 总计 496 -rw-r--r-- 1 zale zale 154481 2009-11-17 07:26 lmon12f.c -rw-r--r-- 1 zale zale 154481 2011-07-31 19:37 lmon.c -rw-rw-rw- 1 zale zale 2478 2009-03-06 16:45 makefile -rwxr-xr-x 1 zale zale 191075 2011-07-31 19:40 nmon_power_rhel3 zale@zale-infohold:~/下载/nmon-12f$ cc --version cc (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5 Copyright (C) 2010 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值