首页 > 其他分享 >编译安装nmon

编译安装nmon

时间:2022-12-20 21:55:06浏览次数:68  
标签:nmon makefile 编译 参数 Linux 安装 ARM

nmon 是什么?

nmonNigel's performance Monitor for Linux)是一种Linux性能监视工具,当前它支持 Power/x86/x86_64/Mainframe/ARM 这五种 CPU 架构的 Linux,能将监控到的数据保存为 JSON 格式便于其他工具进行分析和展示。

为什么要编译安装 nmon?

虽然 nmon 对很多Linux发行版(如Red Hat, SUSE, Ubuntu, Fedora, OpenSUSE 等)进行了支持,你可以在这些发行版的源中找到它的包并安装它。

对于未提供预编译包的发行版就需要编译安装它了。

如何编译安装 nmon?

nmon 官方提供了编译安装指南,即通过修改makefile + 一个源码文件 来编译 nmon,地址如下:

源码一般名称为 lmon版本号.c,如当前最新的是 lmon16n.c,也可以在编译指南列表里取最新的下载

准备好这两个文件是第一步,接下来还需要问自己几个问题,通过以下几个问题就能知道该使用哪几个编译参数如何修改makefile:

  • 问题1:makefile 中是否包含我需要的环境的脚本(标签)?
  • 问题2:nmon 将运行环境的CPU架构是什么?
  • 问题3:nmon 将运行环境的Linux内核版本是否小于2.6.18?

问题1包含所需脚本

问题1中如果是包含,可以直接放到编译环境(安装有gcc*ncurses-dev*make的Linux环境,以Ubuntu举例就是 :sudo apt update && sudo apt install -y gcc* ncurses-dev* make),将源码放到 makefile 同级目录,进入目录执行 ln lmon版本.c lmon.c && make 标签名。举个例子,需要Ubuntu18.04 x86_64架构的nmon,只需要打开makefile,看看是否可以找到如下图类似脚本:

红框中的标签名由三部分组成,nmon + AMD64 + ubuntu1804,表示 x86_64的ubuntu18.04的 nmon,这个标签名一般与下边cc命名行的-o后的参数名一致,即最终也会打出同名目标文件。

找到需要的脚本,这里用lmon16n.c,则命令如下:

sudo apt update
sudo apt install -y gcc* ncurses-dev* make
ln lmon16n.c lmon.c
make nmon_AMD64_ubuntu1804

编译完成后,会生成名为nmon_AMD64_ubuntu1804的目标文件,可以把它改名为nmon 放到需要使用 nmon 的操作系统上做监控了。

ps: 如果有对应的编译脚本,后边就不用看了。

问题1不包含所需脚本

如果没有对应的脚本,那只好再深入一点点看看makefile的结构,了解下参数都有啥:

如图,红框表示目标文件名或makefile标签名;蓝框表示必需的文件,可不写;黄框表示传入CPU架构参数;绿框指定脚本中对某发行版做的优化。一般-D和后边紧跟的参数 就相当于 C 语言中的 #define XXX。所以源码中肯定有条件判断,如下图UBUNTU

既然这些都明白了,我们只需要确认有哪些可用参数,可不就能编译出需要的版本了么。

简单看了下源码,整理下常用的参数。

常用CPU架构参数:

  • POWER - PowerPC
  • MAINFRAME - Mainframe
  • X86 - x86 与 x86_64 通用
  • ARM - arm通用

常用发行版参数:

  • SLES/SLES12/SLES113 - Suse Linux Enterprise Server
  • RHEL6/RHEL7 - RedHat6 和 RedHat7与8
  • UBUNTU - Ubuntu全系列

Linux内核版本相关参数:

  • PRE_KERNEL_2_6_18/KERNEL_2_6_18 - 用于Linux内核版本等于或低于2.6.18版本,前者用于16j及之后版本,后者用于之前的版本

英伟达显卡相关参数:

  • NVIDIA_GPU

再举个编译ARM架构CentOS7.8 内核版本5.4.200的nmon例子:

在makefile脚本最下添加两行:

nmon_ARM_centos7: 
	cc -o nmon_ARM_centos7 $(FILE) $(CFLAGS) $(LDFLAGS) -D ARM

主要两点考虑,是arm架构 用参数 -D ARM,内核版本大于2.6.18不用加内核相关参数。注意:cc那行前边不是空格,必须是TAB制表符

目标文件已经编译成功了,可以 mv 改名复制到需要的环境中了,当然不改也行随你。

总结

简单介绍了下 nmon 是什么、编译安装它的原因,以及如何编译 nmon,如果对你有所帮助,欢迎点赞、关注、评论。本文就到这里了。

参考:

标签:nmon,makefile,编译,参数,Linux,安装,ARM
From: https://www.cnblogs.com/hellxz/p/16995193.html

相关文章

  • Nmon的安装及使用
    一、下载Nmon根据CPU的类型选择下载相应的版本:​​http://nmon.sourceforge.net/pmwiki.php?n=Site.Download​​​wget ​​http://sourceforge.net/projects/nmon/files/......
  • Windows下Nginx的安装与使用(一):配置端口转发
    Nginx配置Nginx入门Nginx负载均衡Nginx端口转发什么是端口转发当我们在服务器上搭建一个图书以及一个电影的应用,其中图书应用启动了8001端口,电......
  • 使用brew安装历史版本的几种方式
    背景在macosx下,大部分的软件都是使用​​homebrew​​进行管理的,可以方便的进行软件的安装,更新,删除等等,大部分情况下homebrew的仓库只会存在一份最新的软件......
  • 编译hadoop
     sudovi/etc/profileexportJAVA_HOME=/usr/lib/jvm/java-8-openjdk-mips64elexportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexportPATH=$J......
  • Spring源码编译
    资料参考地址1:Spring源码编译准备环境配置JDK8(与Spring5的兼容性最好)spring:5.2.0release下载Spring源码直接去官方的github库下载,https://github.com/spring......
  • 【软硬件环境配置】ubuntu20.04系统安装VMware虚拟机和ubuntu18.04
    前言操作步骤1. 下载虚拟机;下载最新版本的VmwareworkstationPro17;WindowsVM|WorkstationPro|VMware2.下载ubuntu18.04镜像;UbuntuReleasesubunt......
  • Nmon 监控分析工具使用
    一、简介1、nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具,它能在系统运行过程中实时地捕捉系统资源的使用情况,记录的信息比较全面,并且能输出结果到文件......
  • VmWare安装Centos后配置net网络
    1:首先安装VmWare2:启动时在安装对应的Linux版本,网络就默认net即可3:都安装好了之后,注意有一个大坑,输入的账号密码都不能准确登录最后发现是linux默认的输入法没有启用电......
  • 安装confluence7.19.4、jira9.4破解并使用Nginx代理
    背景略安装jira准备两个目录,一个是jira的安装目录,一个是jira的home目录,数据都存在home目录/data/jira/data/jira_home下载,解压wgethttps://product-downl......
  • Linux下安装lr负载机
    负载代理下载地址load-generator链接:https://pan.baidu.com/s/1qcFNZXGdegzYJovOKgj2CA提取码:ed55安装环境系统:centos7最小安装版(CentOS-7-x86_64-Minimal-1503-01.iso)。......