stress-ng交叉编译在板子上运行
Posted fanchenxinok
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了stress-ng交叉编译在板子上运行相关的知识,希望对你有一定的参考价值。
一、直接用我移植好的:https://github.com/fanchenxinok/stress-ng-arm
二、自己移植过程
(1)下载源码包:
https://kernel.ubuntu.com/~cking/tarballs/stress-ng/
(2)我下载的是 stress-ng-0.10.07.tar.xz
解压 $ tar -xvf stress-ng-0.10.07.tar.xz
(3)修改Makefile
在makefile添加你的交叉编译工具路径
CROSS_COMPILER = $(EASY_SDK)/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf
CC = $(CROSS_COMPILER)-gcc --sysroot=$(EASY_SDK)/sysroots/armv7ahf-neon-linux-gnueabi
(4)找到config文件,删除里面所有的配置。否则会报一些错误。
(5)执行make, 会遇到一些少头文件的错误, 添加相应的头文件即可。
(6)用法参考: https://kernel.ubuntu.com/~cking/stress-ng/
CPU压力密集型
./stress-ng --cpu 0 --cpu-method pi -t 5m --times &
Mem: 116908K used, 1509556K free, 2152K shrd, 1052K buff, 18616K cached
CPU: 98.8% usr 1.1% sys 0.0% nic 0.0% idle 0.0% io 0.0% irq 0.0% sirq
Load average: 1.23 2.64 3.10 2/99 21624
PID PPID USER STAT VSZ %VSZ CPU %CPU COMMAND
21621 21620 root R 12960 0.8 0 92.2 ./stress-ng --cpu 0 --cpu-method p
IO压力密集型
./stress-ng --io 4 --hdd 1 -t 5m --times &
[root@x home]# mpstat -P ALL 5
01:06:10 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
01:06:15 all 0.00 0.00 6.88 93.12 0.00 0.00 0.00 0.00 0.00
01:06:15 0 0.00 0.00 6.88 93.12 0.00 0.00 0.00 0.00 0.00
可以看到 iowait高达93.12
补充:
编译过程出现如下错误:
make[1]: 正在进入目录 `/home/fanchenxin/j6_entry/j6demo_package/my_projects/stress-ng-0.10.07'
CC stress-access.c
In file included from stress-access.c:25:0:
stress-ng.h:103:10: fatal error: cpuid.h:没有那个文件或目录
#include <cpuid.h>
^~~~~~~~~
compilation terminated.
解决:
将config文件删除,再make就好了,不要make clean。
以上是关于stress-ng交叉编译在板子上运行的主要内容,如果未能解决你的问题,请参考以下文章
关于 虚拟机交叉编译目标机程序,使用filezilla的ftp方式传输到板子上没问题,后来同样环境传入应用运行宕机 的解决方法