银河麒麟安装nmon以及rpc.rstatd的方法

背景说明

  • 随着公司业务的发展,需要在ARM环境上面进行性能测试.
  • 为了进行ARM环境的验证,需要一些组件进行资料收集.
  • 比较好的方式是使用nmon或者是rstatd进行性能参数收集.
  • 为了方便部署,想着能够打包成rpm包进行处理.这里进行一下简单的总结

获取资料

  • 获取nmon以及rstatd的安装介质
wget http://sourceforge.net/projects/nmon/files/makefile
wget http://sourceforge.net/projects/nmon/files/lmon16j.c
  • 获取rstatd的文件
wget https://sourceforge.net/projects/rstatd/files/rstatd/4.0.1/rpc.rstatd-4.0.1.tar.gz

ARM上面进行编译

  • 注意arm上面进行便宜需要安装一些其他的头文件信息
yum install rpcgen ncurses-devel -y
  • 这里进行一下简单说明:
yum 打包安装 不带 devel的仅是使用的软件
带devel 后缀的rpm包能够便于进行依赖打包处理
在开发机器上面可以进行安装,生产机器上面可以不安装

安装nmon

  • 注意在银河麒麟飞腾机器上面可以进行一下简单的处理文件为:
  • 注意需要修改FILE 变量的内容,与当前目录下下载的nmon的c文件一致.
  • 注意需要cc -o 后面描述好 -D arm64
  • 注意nmon_arm64_kylin 应该就可以直接用. 其他的可以不用惯
# NOTE: link the curent working copy of the code to lmon.c for compiling
CFLAGS=-g -O3 -Wall
LDFLAGS=-lncurses -lm
FILE=lmon16j.c

nmon_arm64_kylin: $(FILE)
         cc -o nmon_arm64_kylin $(FILE) $(CFLAGS) $(LDFLAGS) -D arm64 
  • 执行 make 以及 make install 就可以在当前目录出现一个二进制文件
  • 二进制文件为: nmon_arm64_kylin
  • 注意 其实 make 就已经将文件生成了 make install 更多的是将二进制文件挪到prefix目录中

安装rstatd

  • 解压缩文件
  • 直接进入该目录执行 ./configure
  • 然后执行 ./make
  • 就会发现有一个 rpc.rstatd 文件产生
  • rpcbind的策略我不太熟悉 可以简单验证为:
启动服务:
./rpc.rstatd
查看端口信息
rpcinfo -p
查看 rstatd 对应的 port 信息进行查看
lsof -i:$port 
如果存在进程并且command 为 rpc.statd 说明正常

rpm打包

  • 安装rpm-build 以及搭建好目录
  • nmon以及rpc.rstatd 放置到 /root/rpmbuild/SOURCES/nmon目录下
  • 给文件添加 777 的可执行权限
  • /root/rpmbuild/SPECS/nmon.spec增加如下内容进行简易打包
#DEFINES
%define _binaries_in_noarch_packages_terminate_build   0
%global __os_install_post %{nil}

Name:       nmon
Version:    16j
Release:    1%{?dist}
Summary:    Rpm package for nmon ...

Group:      nmon
License:    GPL
URL:        https://www.jinanxiaolaohu.com/
Source0:    nmon/

BuildArch: aarch64
Autoreq:    no

%changelog
* Sat  Jan  01  2021  jinanxiaolaohu
Initial Version ...
%description    
Rpm package for nmon

%install
app_dir=%{buildroot}/opt
mkdir -p $app_dir                               
echo pwd
echo %{SOURCE0}/nmon/
cp -r %{SOURCE0}/nmon/ $app_dir/

%files
%defattr(777,root,root)
/opt/nmon
%dir    
/opt/nmon
  • 执行打包
cd /root/rpmbuild/SPECS/
rpmbuild -bb nmon.spec
注意会在 /root/rpmbuild/RPMS/aarch64/ 下面有一个 rpm包
迁移到其他机器上面就可以使用了.

安装验证

  • 简单进行验证
[root@jinanxiaolaohu ~]# rpm -ivh nmon-16j-1.ky10.ky10.aarch64.rpm 
Verifying...                          ################################# [100%]
准备中...                          ################################# [100%]
正在升级/安装...
   1:nmon-16j-1.ky10.ky10             ################################# [100%]
[root@jinanxiaolaohu ~]# cd /opt/nmon/
[root@jinanxiaolaohu nmon]# ll
总用量 732
-rwxrwxrwx 1 root root 444504  1月 31 10:39 nmon
-rwxrwxrwx 1 root root 168288  1月 31 10:39 rpc.rstatd
-rwxrwxrwx 1 root root 128616  1月 31 10:39 rsysinfo
  • 执行运行相关命令即可.
上一篇:CentOS7.9安装mysql-8.0.28(最新)


下一篇:Centos8中创建LVM精简逻辑卷