前段时间用phoronix-test-suite进行性能测试,记录下遇到的问题和解决方法,给自己做个小笔记,顺便给有需要的人提供参考。
遇到错误会看日志真的太重要了
学习的时候不要怕坑,遇到的坑多了,慢慢也就学会躺平了
附上phoroni-tes-suite测试套件下载地址:https://openbenchmarking.org/suites
1、使用phoroni-tes-suite v6.8.0进行网络测试,测试中报错,提示为php使用过多内存,导致内存不足
解决方法:当前PTS版本较低,重新安装了高版本PTS(v9.4.0)
2、安装pts/memory测试项时,部分测试项安装失败:
解决方法:
(1)
# vim /var/lib/phoronix-test-suite/test-profiles/pts/ramspeed-1.4.3/install.sh
(2)修改后保存(红色字体为需要修改的部分):
#!/bin/sh
tar -zxvf ramsmp-3.5.0.tar.gz
cd ramsmp-3.5.0/
#export CFLAGS="-O3 -march=native $CFLAGS"
#cc $CFLAGS -o ramsmp fltmark.c fltmem.c intmark.c intmem.c ramsmp.c
gcc -o ramsmp fltmark.c fltmem.c intmark.c intmem.c ramsmp.c
echo $? > ~/install-exit-status
cd ~
echo "#!/bin/sh
cd ramsmp-3.5.0/
./ramsmp \$@ > \$LOG_FILE 2>&1
echo \$? > ~/test-exit-status" > ramspeed
chmod +x ramspeed
(3)没必要再次安装其它测试项,单独安装这个测试项就好:
# phoronix-test-suite install pts/ramspeed-1.4.3
3、安装pts/network测试项时,部分测试项安装失败:
解决方法:
(1)
# vim /var/lib/phoronix-test-suite/test-profiles/pts/netperf-1.0.3/install.sh
(2)修改后保存(红色字体为需要修改的部分)
说明:如果是arm架构的就加arm-linux,如果是x86架构的就只加linux
就是这个问题的解决思路让我头脑瞬间清醒,感谢这位博主,附上链接:https://blog.csdn.net/lileiyu1/article/details/78392745
./configure CFLAGS="$CFLAGS" --build=arm-linux
make -j $NUM_CPU_CORES
echo $? > ~/install-exit-status
cd ~
echo "#!/bin/sh
cd netperf-2.7.0
./src/netperf -P 0 -v 0 \$@ | grep -v is > \$LOG_FILE
echo \$? > ~/test-exit-status" > netperf
chmod +x netperf
(3)执行安装命令:
# phoronix-test-suite install pts/netperf-1.0.3
4、安装pts/network测试项时,部分测试项安装失败:
解决方法:
(1)查看错误日志:
# vim /var/lib/phoronix-test-suite/installed-tests/pts/iperf-1.0.2/install-failed.log
(2)查看配置日志:
注意: 如果报错:“没有/var/lib/phoronix-test-suite/installed-tests/pts/iperf-1.0.2/iperf-3.1.3目录”,先执行步骤(3)注释或删除“rm -rf iperf-3.1.3”,这一步踩了好久的坑,再执行步骤(4)
# vim /var/lib/phoronix-test-suite/installed-tests/pts/iperf-1.0.2/iperf-3.1.3/config.log
(3)修改安装脚本
# vim /var/lib/phoronix-test-suite/test-profiles/pts/iperf-1.0.2/install.sh
修改后保存(红色字体为需要修改的部分):
#!/bin/sh
mkdir $HOME/iperf-install
tar -zxvf iperf-3.1.3-source.tar.gz
cd iperf-3.1.3
if [ "X$CFLAGS_OVERRIDE" = "X" ]
then
#CFLAGS="$CFLAGS -O3 -march=native"
CFLAGS="$CFLAGS -O3"
else
CFLAGS="$CFLAGS_OVERRIDE"
fi
./configure --prefix=$HOME/iperf-install CFLAGS="$CFLAGS"
make -j $NUM_CPU_CORES
make install
echo $? > ~/install-exit-status
cd ~
#rm -rf iperf-3.1.3
cd ~
echo "#!/bin/sh
cd iperf-install/bin
./iperf3 \$@ > \$LOG_FILE 2>1
echo \$? > ~/test-exit-status" > iperf
chmod +x iperf
(4)执行安装命令:
# phoronix-test-suite install pts/ iperf-1.0.2
5、安装pts/disk测试项时,部分测试项安装失败:
是这位博主拯救了我:https://www.cnblogs.com/xiaohexiansheng/p/5500870.html
错误原因:在静态编译时需要链接静态库。静态编译时需要将所有的.a库链接到可执行文件中,所以需要libc静态库文件,在系统找查找glibc-static提示没有库文件
解决方法:
(1)安装静态库
# yum install glibc-static
(2)执行安装命令
# phoronix-test-suite install pts/fs-mark