---
title: 软件相关
description: "DPAK（Data Processing & Acceleration Kit）是鲲鹏DPU Solution基于DPU&智能网卡统一软件框架的应用使能套件。DPAK相关的软件安装请参见华为技术支持网站(https://support.huawei.com/enterprise/zh/kunpeng-computing/data-acceleration-kit-pid-265266149/software)中的各场景用户指南。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengfaq/productfaq/grffaq/grf_faq_0004.html
sourcePath: /source/zh/kunpengfaq/productfaq/grffaq/grf_faq_0004.html
indexId: 4f1351779fead3d807a03da1aaa2f491b6df79dcc5412230394694ed94ae68c457
---
# 软件相关

#### 如何安装DPAK？

DPAK（Data Processing & Acceleration Kit）是鲲鹏DPU Solution基于DPU&智能网卡统一软件框架的应用使能套件。DPAK相关的软件安装请参见华为技术支持网站(https://support.huawei.com/enterprise/zh/kunpeng-computing/data-acceleration-kit-pid-265266149/software)中的各场景用户指南。


#### 使用jemalloc如何优化内存分配？

jemalloc是一款内存分配器，与其它内存分配器（glibc）相比，其最大优势在于多线程场景下内存分配性能高以及内存碎片减少。充分发挥鲲鹏芯片多核多并发优势，推荐业务应用代码使用jemalloc进行内存分配。在内存分配过程中，锁会造成线程等待，对性能影响巨大。

jemalloc采用如下措施避免线程竞争锁的发生：使用线程变量，每个线程有自己的内存管理器，分配在这个线程内完成，就不需要和其它线程竞争锁。

修改方式如下：

1. 下载jemalloc(https://github.com/jemalloc/jemalloc)，参考INSTALL.md编译安装。
2. 修改应用软件的链接库的方式，在编译选项中添加如下编译选项：
  -I`jemalloc-config --includedir`-L`jemalloc-config --libdir` -Wl,-rpath,`jemalloc-config -- libdir` -ljemalloc `jemalloc-config --libs`

  具体请参考：GitHub网站-Getting-Started(https://github.com/jemalloc/jemalloc/wiki/Getting-Started)

3. 部分开源软件可以修改配置参数来指定内存分配库，如MySQL可以配置my.cnf文件：malloc-lib=/usr/local/lib/libjemalloc.so


#### 鲲鹏AArch64服务器怎么安装docker-compose？

鲲鹏AArch64服务器安装docker-compose请参见《鲲鹏平台安装docker-compose参考(https://bbs.huaweicloud.com/forum/thread-26434-1-1.html)》。


#### 如何配置Java开发环境？

1. 使用PuTTY工具，以root用户登录服务器。
2. 执行以下命令安装Java包。
  yum install java-1.8.0-openjdk.aarch64

3. 执行以下命令检查Java是否安装完成。
  java -version

  回显显示如下示例，表示Java安装完成。

```
openjdk version "1.8.0_212"
```


#### 如何进行BenchMarkSQL测试？

BenchMarkSQL是一款经典的开源数据库测试工具，内嵌了TPC-C测试脚本，可以对PostgreSQL、MySQL、Oracle以及SQL Server等数据库直接进行测试。它通过JDBC测试OLTP（联机事务处理，Online Transaction Processing）的TPC-C。详细的测试步骤请参见《BenchMarkSQL 测试指导(https://www.hikunpeng.com/document/detail/zh/kunpengdbs/testguide/tstg/kunpengbenchmarksql_06_0001.html)》。


#### 如何获取SPEC测试工具？

请前往SPEC官网(https://www.spec.org/cpu2017/?spm=a2c4g.162010.0.0.11c67d5c6XLZU2)获取SPEC CPU® 2017测试工具。


#### 如何查询鲲鹏上兼容哪些软件？

从兼容性查询页面(https://www.hikunpeng.com/ecosystem/compatibility)查询当前已适配鲲鹏的软件信息。


#### 如何获取鲲鹏兼容性测试工具？

- 从  华为云镜像站(https://mirrors.huaweicloud.com/kunpeng/archive/compatibility_testing/)
获取兼容性测试工具。
- 工具具体安装和使用指导请参见《  兼容性测试指导(https://www.hikunpeng.com/document/detail/zh/techcert/certtest/testexct/kunpengcomtestool_06_0001.html)
》。


#### 如何进行鲲鹏兼容性测试？

通过兼容性测试工具进行测试，详细指导请参见《兼容性测试指导(https://www.hikunpeng.com/document/detail/zh/techcert/certtest/testexct/kunpengcomtestool_06_0001.html)》。


#### 鲲鹏软件迁移有哪些实践？

请访问“鲲鹏文档-最佳实践-应用迁移”版块查看。访问地址：https://www.hikunpeng.com/zh/document?data=practice(https://www.hikunpeng.com/zh/document?data=practice)


#### 如何获取调优十板斧？

《鲲鹏性能调优十板斧》主要介绍了鲲鹏芯片常用的性能优化方法和分析工具，分别从CPU与内存子系统，网络子系统，磁盘IO子系统和应用程序优化4个方面阐述了常用的性能优化方法和分析工具，主要适用于执行性能优化的研发工程师和技术支持工程师。详细内容请参见《鲲鹏性能调优十板斧(https://www.hikunpeng.com/document/detail/zh/perftuning/tuningtip/kunpengtuning_12_0002.html)》。


#### 鲲鹏服务器如何安装gogs？

1. 首先可以到官方网站去找AArch64的安装包，如果没有，可以尝试从GitHub网站(https://github.com/gogs/gogs)获取源码编译并制作对应的Docker镜像来使用。
2. 如果使用Docker方式安装，可以先执行docker search看是否有gogs的arm64镜像，如果有可以直接docker pull下来。


#### openGauss的MySQL兼容性是通过dolphin插件实现吗？

openGauss的MySQL兼容性是通过dolphin插件 + 内核实现的，dolphin的手册只是MySQL兼容性的一部分，另一部分兼容性在内核实现，不依赖dolphin插件。


#### 解释型语言迁移都有哪些修改点？

解释型语言可能涉及的修改点：

- 直接翻译：纯解释型语言开发的应用程序，代码无需修改，程序也不需要重新编译， 如Java软件安装ARM版本JDK即可。
- 依赖库编译：如果软件含依赖库，则需要重新编译。


#### 华为云开源镜像站访问地址是什么？

请点击华为云镜像站(https://mirrors.huaweicloud.com/)访问。


#### 使用兼容性测试工具运行测试脚本提示与当前服务器没有建立免密互信怎么办？

问题现象描述

单机部署情况下使用兼容性测试工具运行测试脚本后提示与当前服务器没有建立免密互信，请配置后重新执行脚本，具体日志信息如下：

```
自动化兼容性测试开始前，请用户先填写配置文件compatibility_testing.conf，填写说明请参考README自动化兼容性测试开始执行，脚本分为10个步骤，运行时间约50分钟，请耐心等待。 测试期间会不断启动和停止待测试应用软件，请勿在生产环境执行兼容性测试工具。
确认当前环境不是生产环境，请回复 N ，是生产环境请回复 Y ? N
您输入的是 N
第 1 步：配置文件检查, 开始 第 1 步：配置文件检查, 完成
第 2 步：软件依赖检查，开始 : Name or service not knownname : Name or service not knownname 与当前服务器没有建立免密互信，请配置后重新执行脚本
```

结论、解决方案及效果

单机部署情况下，请确认compatibility_testing.conf文件的“cluster_ip_lists”参数为空，并将compatibility_testing.sh文件中的“HAS_CLUSTER_ENV”值改成“0”可临时规避问题。
