实验二-命令
作者:
zanyyan123
,
2024-04-17 18:44:09
,
所有人可见
,
阅读 5
EIP:139.159.187.15
SIP:192.168.0.104
https://139.159.187.15:8086/user-management/#/login
tunadmin12#$
1. 登录服务器
ssh root@EIP
ssh root@139.159.187.15
(139.159.187.15)
2. 工具安装
2.1 安装依赖工具
#需要依次输入下列命令来安装依赖工具并激活
#1. 设置SSH超时断开时间,防止服务器断连
sed -i '112a ClientAliveInterval 600\nClientAliveCountMax 10' /etc/ssh/sshd_config && systemctl restart sshd
#2. 安装centos-release-scl
yum install centos-release-scl -y
#3. 安装devtoolset
yum install devtoolset-7-gcc* -y
#4. 激活对应的devtoolset
scl enable devtoolset-7 bash
#5. 安装jdk 11版本并在home目录下重命名为jdk文件夹【需等待约3分钟】
cd /home && wget https://mirrors.huaweicloud.com/kunpeng/archive/compiler/bisheng_jdk/bisheng-jdk-11.0.9-linux-aarch64.tar.gz && tar -zxvf bisheng-jdk-11.0.9-linux-aarch64.tar.gz && mv bisheng-jdk-11.0.9 jdk
2.2 安装Hyper Tuner
#需要依次输入下列命令来安装工具
#1. 下载软件包“Hyper-Tuner-2.2.T3.tar.gz”安装在“/home”的根目录下,并解压安装包
cd /home && wget https://mirrors.huaweicloud.com/kunpeng/archive/Tuning_kit/Packages/Hyper-Tuner-2.2.T3.tar.gz && tar -zxvf Hyper-Tuner-2.2.T3.tar.gz
#2. 安装系统性能优化工具,默认安装在“/opt”目录下
cd /home/Hyper_tuner && tar -zxvf Hyper-Tuner-2.2.T3.tar.gz && cd /home/Hyper_tuner/Hyper_tuner && ./hyper_tuner_install.sh -a -i -ip=SIP -jh=/home/jdk
#[注意] 将上述命令中的SIP替换为私有IP地址(192.168.0.104)
cd /home/Hyper_tuner && tar -zxvf Hyper-Tuner-2.2.T3.tar.gz && cd /home/Hyper_tuner/Hyper_tuner && ./hyper_tuner_install.sh -a -i -ip=192.168.0.104 -jh=/home/jdk
cd /home/Hyper_tuner && tar -zxvf Hyper-Tuner-2.2.T3.tar.gz && cd /home/Hyper_tuner/Hyper_tuner && ./hyper_tuner_install.sh -a -i -ip=139.159.187.15 -jh=/home/jdk
2.3 登录Hyper Tuner
https://EIP:8086/user-management/#/login
https://139.159.187.15:8086/user-management/#/login
tunadmin12#$
3. 一维矩阵运算热点函数检测优化
3.1 编译运行“矩阵内存访问”代码
#1. 下载代码
mkdir /opt/testdemo && cd /opt/testdemo && wget https://sandbox-experiment-resource-north-4.obs.cn-north-4.myhuaweicloud.com/hot-spot-function/multiply.tar.gz && tar -zxvf multiply.tar.gz
mkdir /opt/testdemo
cd /opt/testdemo
mkdir /opt/testdemo/multiply
scp /path/to/local/file1 /path/to/local/file2 /path/to/local/file3 root@server_ip:/opt/testdemo
F:/HuaweiMoveData/Users/华为/Desktop/华为实验/资料/multiply-实验2代码/multiply.c
F:/HuaweiMoveData/Users/华为/Desktop/华为实验/资料/multiply-实验2代码/multiply_simd.c
F:/HuaweiMoveData/Users/华为/Desktop/华为实验/资料/multiply-实验2代码/multiply_start.sh
139.159.187.15
scp F:/HuaweiMoveData/Users/华为/Desktop/华为实验/资料/multiply-实验2代码/multiply.c F:/HuaweiMoveData/Users/华为/Desktop/华为实验/资料/multiply-实验2代码/multiply_simd.c F:/HuaweiMoveData/Users/华为/Desktop/华为实验/资料/multiply-实验2代码/multiply_start.sh root@139.159.187.15:/opt/testdemo/multiply
mkdir /opt/testdemo/multiply && cd /opt/testdemo/multiply
#2. 修改程序
#3. 编译程序
cd /opt/testdemo/multiply && gcc -g multiply.c -o multiply && chmod -R 777 /opt/testdemo/multiply
#4. 执行程序
cd /opt/testdemo/multiply && nohup bash multiply_start.sh >>multiply.out 2>&1 &
#5. 查看
jobs -l
3.4 程序性能分析
#1. 编译程序
cd /opt/testdemo/multiply && gcc -g -O2 -o multiply multiply.c && chmod -R 777 /opt/testdemo/multiply
#2. 查看multiply.c程序中乘法函数multiply消耗时间
cd /opt/testdemo/multiply/ && ./multiply
#3. 采集热点函数占用率
##1. 启动perf record 采集数据
cd /opt/testdemo/multiply/ && sudo perf record --call-graph dwarf ./multiply -d 1 -b
##2. 解析perf.data的内容
cd /opt/testdemo/multiply/ && sudo perf report -i perf.data > perf_multiply.txt
##3. 查看main函数和子函数的CPU平均占用率
cd /opt/testdemo/multiply/ && less perf_multiply.txt
3.6 优化后程序性能分析
#1. 编译程序
cd /opt/testdemo/multiply && gcc -g -O2 -o multiply_simd multiply_simd.c && chmod -R 777 /opt/testdemo/multiply
#2. 查看multiply.c程序中乘法函数multiply消耗时间
cd /opt/testdemo/multiply/ && ./multiply_simd
#3. 采集热点函数占用率
##1. 启动perf record 采集数据
cd /opt/testdemo/multiply/ && sudo perf record --call-graph dwarf ./multiply_simd -d 1 -b
##2. 解析perf.data的内容
cd /opt/testdemo/multiply/ && sudo perf report -i perf.data > perf_multiply_simd.txt
##3. 查看main函数和子函数的CPU平均占用率
cd /opt/testdemo/multiply/ && less perf_multiply_simd.txt