Linux系统资源分析工具nmon 交叉编译 输出性能报表

交叉编译nmon系统资源监控工具


1.源文件下载

git clone https://github.com/axibase/nmon.git

2.修改makefile,增加目标

nmon_arm_am3352:  $(FILE)
	arm-linux-gnueabihf-gcc -o nmon_arm_am3352 $(FILE) $(CFLAGS) $(LDFLAGS) -D ARM  -D KERNEL_2_6_18 -D AM3352

3.编译

make nmon_arm_am3352

4.报异常缺少ncurses.h

reasonss@reasonss-PC:~/Downloads/nmon$ make nmon_arm_am3352 
arm-linux-gnueabihf-gcc -o nmon_arm_am3352 lmon16f.c -g -O3 -Wall -D JFS -D GETUSER -D LARGEMEM -lncurses -lm -g -D ARM  -D KERNEL_2_6_18 -D AM3352
lmon16f.c:60:21: fatal error: ncurses.h: 没有那个文件或目录
 #include <ncurses.h>
                     ^
compilation terminated.
make: *** [makefile:97:nmon_arm_am3352] 错误 1

5.交叉编译ncurses.h

参考https://blog.csdn.net/zadile1/article/details/52025818


6.重新修改Makefile调整依赖

nmon_arm_am3352:  $(FILE)
	arm-linux-gnueabihf-gcc -o nmon_arm_am3352 $(FILE) $(CFLAGS) $(LDFLAGS) -D ARM  -D KERNEL_2_6_18 -D AM3352 -I ../ncurses-5.9/target/include/ -I ../ncurses-5.9/target/include/ncurses -I. -L ../ncurses-5.9/target/lib -lncurses


7.拷贝二进制文件和库到目标板子



8.将库文件拷贝到/usr/lib,并且重新加载环境依赖

cp libncurses.so.5.9 /usr/lib/
ldconfig

9.执行nmon_arm_am3352,报异常Error opening terminal: xterm-256color.

export TERM=vt100
export TERMINFO=/usr/share/terminfo

10.terminfo为空,拷贝之前交叉编译好的terminfo目录到板子/usr/share

scp -r terminfo root@10.52.120.200:/usr/share/

11.执行成功

在这里插入图片描述


12.添加环境依赖到全局

vi /etc/profile
export TERM=vt100
export TERMINFO=/usr/share/terminfo

13.使用分析工具分析数据

13.1下载分析工具
最新版本nmon源码http://nmon.sourceforge.net/pmwiki.php?n=Site.CompilingNmon

在这里插入图片描述

最新版本分析器下载http://nmon.sourceforge.net/pmwiki.php?n=Site.Nmon-Analyser
在这里插入图片描述

13.2替换到原来git项目面重新编译

	原本git上的版本太旧,v66分析器分析不了,所以需要重新编译

13.3分析数据
在这里插入图片描述
在这里插入图片描述

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.
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

交叉编译之王 hahaha

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值