1 简介
Sigar全名是System Information Gatherer And Reporter,中文名是系统信息收集和报表工具。是一个开源的工具,提供了跨平台的系统信息收集的API,可以收集的信息包括:
1.操作系统的信息,包括:dataModel、cpuEndian、name、version、arch、machine、description、patchLevel、vendor、vendorVersion、vendorName、vendorCodeName
2.CPU信息,包括:基本信息(vendor、model、mhz、cacheSize)和统计信息(user、sys、idle、nice、wait)
3.内存信息,物理内存和交换内存的总数、使用数、剩余数;RAM的大小
4.进程信息,包括每个进程的内存、CPU占用数、状态、参数、句柄等。
5.文件系统信息,包括名称、容量、剩余数、使用数、分区类型等
6.网络接口信息,包括基本信息和统计信息。
7.网络路由和链接表信息。
官方链接:http://sigar.hyperic.com/
2 环境
3 依赖安装
3.1 安装OpenJDK
下载并安装到指定目录(如/opt/tools/installed):
【注】:使用系统自带Openjdk软件包可以通过执行“yum -y install java-1.8.0*”进行安装然后参考如下步骤配置JAVA_HOME环境变量;
配置java环境变量,在/etc/profile文件末尾处增加下面的代码:
运行下面命令,使修改的环境变量生效:
3.2 安装GCC等依赖项
挂载OS镜像:
修改/etc/yum.repos.d/CentOS-Base.repo文件,配置yum本地源:
运行下面的命令,使yum源配置生效:
yum安装GCC等相关依赖:
3.3 安装ant编译软件
1、下载ant开源软件包
2、解压apache-ant-1.9.14-bin.tar.gz
3、进入解压路径
4、将ANT_HOME配置到/etc/profile环境变量中
5、使ANT_HOME环境变量生效
3.4 对gcc、g++和c++增加-fsigned-char选项
1、对gcc增加-fsigned-char选项
1)使用which gcc命令寻找gcc所在路径(一般位于/usr/bin/gcc)
2)、更改gcc的名字(比如改成gcc-arm)
3)、进入gcc所在目录执行vi gcc,并填入如下内容保存:
#! /bin/sh
/usr/bin/gcc-arm -fsigned-char "$@"
4)、执行chmod +x gcc给脚本添加执行权限
2、对g++增加-fsigned-char选项
1)使用which g++命令寻找g++所在路径(一般位于/usr/bin/g++)
2)、更改g++的名字(比如改成g++-arm)
3)、进入g++所在目录执行vi g++,并填入如下内容保存:
#! /bin/sh
/usr/bin/g++-arm -fsigned-char "$@"
4)、执行chmod +x g++给脚本添加执行权限
3、对c++增加-fsigned-char选项
1)使用which c++命令寻找g++所在路径(一般位于/usr/bin/c++)
2)、更改c++的名字(比如改成c++-arm)
3)、进入c++所在目录执行vi c++,并填入如下内容保存:
#! /bin/sh
/usr/bin/c++-arm -fsigned-char "$@"
4)、执行chmod +x c++给脚本添加执行权限
4 移植分析
不涉及。
5 依赖库编译
无
6 编译安装
1、下载sigar-1.6源码并解压
2、进入sigar-sigar-1.6/bindings/java解压目录
3、执行ant编译

修改hyperic_jni/src/org/hyperic/jni/ArchNameTask.java的第79行,将“-m64”改为“-fPIC”,如下截图所示:

再次执行ant即可编译成功:

4、查看编译的libsigar-aarch64-linux.so

7 参考信息
8 FAQ
参考 6 编译安装 过程。
1 简介
Sigar全名是System Information Gatherer And Reporter,中文名是系统信息收集和报表工具。是一个开源的工具,提供了跨平台的系统信息收集的API,可以收集的信息包括:
1.操作系统的信息,包括:dataModel、cpuEndian、name、version、arch、machine、description、patchLevel、vendor、vendorVersion、vendorName、vendorCodeName
2.CPU信息,包括:基本信息(vendor、model、mhz、cacheSize)和统计信息(user、sys、idle、nice、wait)
3.内存信息,物理内存和交换内存的总数、使用数、剩余数;RAM的大小
4.进程信息,包括每个进程的内存、CPU占用数、状态、参数、句柄等。
5.文件系统信息,包括名称、容量、剩余数、使用数、分区类型等
6.网络接口信息,包括基本信息和统计信息。
7.网络路由和链接表信息。
官方链接:http://sigar.hyperic.com/
2 环境
类别
子项
版本
获取地址(方法)
硬件
CPU
Kunpeng 920
iBMC
网络
Ethernet-10GE
iBMC
存储
SATA 4T
iBMC
内存
xxG xxxMHz
iBMC
OS
CentOS
7.6
cat /etc/centos-release
Kernel
4.14.0-115
cat /proc/version
软件
GCC
4.8.5
gcc -v
Glibc
2.17
ldd --version
OpenJDK
1.8.0_191
参考下面安装说明
cmake
3.13.2
cmake --version
python
2.7.16
python -V
3 依赖安装
3.1 安装OpenJDK
下载并安装到指定目录(如/opt/tools/installed):
wget https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u191-b12/OpenJDK8U-jdk_aarch64_linux_hotspot_8u191b12.tar.gz
tar -zxf OpenJDK8U-jdk_aarch64_linux_hotspot_8u191b12.tar.gz
mv jdk8u191-b12 /opt/tools/installed/
【注】:使用系统自带Openjdk软件包可以通过执行“yum -y install java-1.8.0*”进行安装然后参考如下步骤配置JAVA_HOME环境变量;
配置java环境变量,在/etc/profile文件末尾处增加下面的代码:
JAVA_HOME=/opt/tools/installed/jdk8u191-b12
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH
运行下面命令,使修改的环境变量生效:
source /etc/profile
3.2 安装GCC等依赖项
挂载OS镜像:
mount -o loop /home/CentOS-7-aarch64-Everything-1810.iso /mnt/CentOS/
修改/etc/yum.repos.d/CentOS-Base.repo文件,配置yum本地源:
[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
baseurl= file:///mnt/CentOS
gpgcheck=1
gpgkey= file:///mnt/CentOS/RPM-GPG-KEY-CentOS-7
file:///mnt/CentOS/RPM-GPG-KEY-CentOS-7-aarch64
运行下面的命令,使yum源配置生效:
yum clean all
yum makecache
yum安装GCC等相关依赖:
sudo yum install -y snappy snappy-devel autoconf automake libtool git gcc gcc-c++ make cmake openssl openssl-devel ncurses-devel zlib zlib-devel bzip2 bzip2-devel bzip2-libs readline readline-devel bison zip unzip tar tcl
3.3 安装ant编译软件
1、下载ant开源软件包
wget http://mirror.bit.edu.cn/apache//ant/binaries/apache-ant-1.9.14-bin.tar.gz
2、解压apache-ant-1.9.14-bin.tar.gz
tar zxvf apache-ant-1.9.14-bin.tar.gz
3、进入解压路径
cd apache-ant-1.9.14/
4、将ANT_HOME配置到/etc/profile环境变量中
vi /etc/proflile
5、使ANT_HOME环境变量生效
source /etc/proflile
3.4 对gcc、g++和c++增加-fsigned-char选项
1、对gcc增加-fsigned-char选项
1)使用which gcc命令寻找gcc所在路径(一般位于/usr/bin/gcc)
which gcc
2)、更改gcc的名字(比如改成gcc-arm)
mv /usr/bin/gcc /usr/bin/gcc-arm
3)、进入gcc所在目录执行vi gcc,并填入如下内容保存:
#! /bin/sh
/usr/bin/gcc-arm -fsigned-char "$@"
cd /usr/bin/
vi gcc
4)、执行chmod +x gcc给脚本添加执行权限
chmod +x gcc
2、对g++增加-fsigned-char选项
1)使用which g++命令寻找g++所在路径(一般位于/usr/bin/g++)
which g++
2)、更改g++的名字(比如改成g++-arm)
mv /usr/bin/g++ /usr/bin/g++-arm
3)、进入g++所在目录执行vi g++,并填入如下内容保存:
#! /bin/sh
/usr/bin/g++-arm -fsigned-char "$@"
cd /usr/bin/
vi g++
4)、执行chmod +x g++给脚本添加执行权限
chmod +x g++
3、对c++增加-fsigned-char选项
1)使用which c++命令寻找g++所在路径(一般位于/usr/bin/c++)
which c++
2)、更改c++的名字(比如改成c++-arm)
mv /usr/bin/c++ /usr/bin/c++-arm
3)、进入c++所在目录执行vi c++,并填入如下内容保存:
#! /bin/sh
/usr/bin/c++-arm -fsigned-char "$@"
cd /usr/bin/
vi c++
4)、执行chmod +x c++给脚本添加执行权限
chmod +x c++
4 移植分析
不涉及。
5 依赖库编译
无
6 编译安装
1、下载sigar-1.6源码并解压
wget https://github.com/hyperic/sigar/archive/sigar-1.6.zip
unzip sigar-1.6.zip
2、进入sigar-sigar-1.6/bindings/java解压目录
cd sigar-sigar-1.6/bindings/java
3、执行ant编译
ant
修改hyperic_jni/src/org/hyperic/jni/ArchNameTask.java的第79行,将“-m64”改为“-fPIC”,如下截图所示:
再次执行ant即可编译成功:
4、查看编译的libsigar-aarch64-linux.so
ls sigar-bin/lib/
7 参考信息
8 FAQ
参考 6 编译安装 过程。