• 银河麒麟安装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
    
    • 执行运行相关命令即可.
  • 相关阅读:
    几个常用的排序算法
    计算机网络的一丢丢知识点
    最小的k个数
    操作系统的一丢丢知识点
    MySQL一丢丢知识点的了解
    B+树
    重建二叉树
    Redis简介
    shell脚本常用案例-5.10
    笔记-网络学习-子网划分
  • 原文地址:https://www.cnblogs.com/jinanxiaolaohu/p/15858207.html
Copyright © 2020-2023  润新知