源代码编译:
1、上传lmon16m.c
2、编译
gcc -o nmon_arm lmon16m.c -g -O3 -Wall -D JFS -D GETUSER -D LARGEMEM -lncurses -lm -D ARM
编译成功可以看到目标文件 nmon_arm 已经生成
3、执行:
./nmon_arm
火焰图
cn火焰
perf抓取--看现场为啥16C,cn用不满cpu。
安装perf命令
生成火焰图步骤
1、采样
--sudo perf record -a -g -p pid
perf record -a -g -p 945218 -- sleep 30
2、用perf script工具对perf.data进行解析
--sudo perf script -i perf.data &> perf.unfold
perf script -i perf.data &> perf.unfold
3、将perf.unfold中的符号进行折叠
./stackcollapse-perf.pl perf.unfold &> perf.folded
4、首先上传两个py脚本至容器内或者目标机器上,赋权,然后执行脚本
./flamegraph.pl perf.folded > perf.svg
最后生成svg图
---分析cpu noma节点,利用率上不去
--fio
100%随机,100%读, 4K
fio -filename=/root/testfile -direct=1 -iodepth 1 -thread -rw=randrw -ioengine=psync -bs=4k -size=50G -numjobs=50 -runtime=180 -group_reporting -name=rand_100read_4k
--dd值(做参考)
dd if=/dev/zero of=/root/testfile bs=512 count=100000 oflag=dsync
dd if=/dev/zero of=/root/testfile bs=512 count=100000
dd if=/root/testfile of=/dev/null bs=4k count=10000 iflag=direct
dd if=/root/testfile of=/dev/null bs=4k count=10000
--IOPS与dd值换算
IOPS*4/1024=MB/s
-- Copyright (C) 2006-2018 Alexey Kopytov <akopytov@gmail.com>
- 下载并安装
方法一:
以Ubuntu14举例,执行命令自动安装
$ sudo apt-get install nmon |
方法二:
手动安装
下载地址:nmon and njmon | Site / Download
下载版本:nmon16g_x86.tar.gz
不用的Linux版本使用的nmon版本不同,下载你所用操作系统的对应版本。以Ubuntu 16系统举例,所以解压后得到nmon16g_x86_ubuntu1604文件,上传到Linux目录下。
- 运行程序
登陆Linux,运行nmon程序。
自动安装的执行如下命令:
在nmoni下面编译gcc -o nmon_arm lmon16m.c -g -O3 -Wall -D JFS -D GETUSER -D LARGEMEM -lncurses -lm -D ARM
“致命错误:curses.h:没有那个文件或目录”
yum install ncurses-libs
yum install ncurses-devel
$ nmon |
或手动安装的执行如下命令:
$ ./nmon16g_x86_ubuntu1604 |
运行截图:
- 实时监控
界面列出了监控系统各指标的命令,例如点击“c”监控CPU,点击“m”监控内存,如下图:
点击“h”显示详细帮助页面:
再次点击“h”消失;点击“q”退出。
- 采集数据
执行命令
$ nmon -s10 -c60 -f -m /home/ |
参数解释:
-s10 每 10 秒采集一次数据。
-c60 采集 60 次,即为采集十分钟的数据。
-f 生成的数据文件名中包含文件创建的时间。
-m 生成的数据文件的存放目录,非必须。
这样就会生成一个nmon文件,并每十秒更新一次,直到十分钟后结束。
监控数据会在指定目录下生成一个文件,如enj-as-018_180207_1352.nmon
- 生成报表
从服务器上把nmon文件下载到本地使用nmon analyser将文件生成excel图表。
nmon analyser下载地址:
Legacy Communities - IBM TechXchange Community
本例下载的版本是nmon_analyser_v52_1.zip。
使用excel打开nmon analyser v52_1.xlsm文件,将宏的安全性调至最低,点击“Analyze nmon data”,选择nmon文件即可以生成报表。
如果宏不能运行,需要做以下操作:
工具 -> 宏 -> 安全性 -> 中,然后再打开文件并允许运行宏。
如果使用的是WPS请安装WPS VBA插件,否则不能运行宏。
生成的excel报表文件如下: