---
title: 安装使用
description: "当x86平台上Linux软件或源码需要迁移到鲲鹏平台上时，可通过鲲鹏DevKit迁移工具（Porting Advisor）自动分析出需替换或修改的内容，提供友好易懂的分析报告、修改引导及一键替换等能力，引导用户快速迁移，同时提供鲲鹏亲和分析能力进一步提升鲲鹏平台代码质量。鲲鹏DevKit迁移工具支持IDE插件（VS Code）、浏览器和命令行三种工作模式。分为客户端、服务器端两部分，需要安装鲲鹏DevKit后选择安装迁移工具即可使用。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengfaq/productfaq/devkitfaq/devkit_faq_0002.html
sourcePath: /source/zh/kunpengfaq/productfaq/devkitfaq/devkit_faq_0002.html
indexId: ae0f7ce5f86f37d85e7cf0aa92c558a2f6a5ad40a4c3de29e27cea4751aebbe763
---
# 安装使用

#### 如何安装迁移工具？

当x86平台上Linux软件或源码需要迁移到鲲鹏平台上时，可通过鲲鹏DevKit迁移工具（Porting Advisor）自动分析出需替换或修改的内容，提供友好易懂的分析报告、修改引导及一键替换等能力，引导用户快速迁移，同时提供鲲鹏亲和分析能力进一步提升鲲鹏平台代码质量。鲲鹏DevKit迁移工具支持IDE插件（VS Code）、浏览器和命令行三种工作模式。分为客户端、服务器端两部分，需要安装鲲鹏DevKit后选择安装迁移工具即可使用。


#### 使用工具扫描出来有很多与架构兼容相关的文件，全都需要修改替换吗？

原则上建议全部替换，但考虑到工作量及应用场景，实际中可通过软件编译错误与运行错误来针对性验证待兼容依赖文件。


#### 如何安装GCC for openEuler？

GCC for openEuler是基于开源GCC开发的编译器工具链（包含编译器，汇编器，链接器），在openEuler社区开源发布，并通过鲲鹏社区免费提供二进制包，支持AArch64处理器架构。

- 软件包下载地址：  鲲鹏DevKit下载-GCC for openEuler(https://www.hikunpeng.com/zh/developer/devkit/downloadNew)

- 安装和使用指导：《  GCC for openEuler 用户指南(https://www.hikunpeng.com/document/detail/zh/kunpengdevps/compilation/ug-hgcc/kunpenghgcc_06_0003.html)
》


#### 如何获取并使用毕昇JDK？

毕昇JDK（BiSheng JDK）基于OpenJDK开发，是一个高性能、可用于生产环境的OpenJDK发行版。毕昇JDK运行在华为内部多个产品上，积累了大量使用场景和Java开发者反馈的问题和诉求，解决了业务实际运行中遇到的多个问题，并在ARM架构上进行了性能优化。毕昇JDK运行在大数据等场景下可以获得更好的性能。毕昇JDK 8与Java SE标准兼容，目前支持Linux/AArch64和Linux/x86_64平台。毕昇JDK同时是OpenJDK的下游，会持续稳定为OpenJDK社区做出贡献。

- 软件包下载地址：  鲲鹏DevKit下载-毕昇JDK(https://www.hikunpeng.com/zh/developer/devkit/downloadNew)

- 安装和使用指导：《  毕昇JDK 8 安装指南(https://atomgit.com/openeuler/bishengjdk-8/wiki/毕昇JDK8_安装指南.md)
》


#### 如何获取并使用毕昇编译器？

毕昇编译器（BiSheng Compiler）基于开源LLVM开发，并进行了优化和改进，同时支持Fortran语言前端，是针对鲲鹏平台的高性能编译器。除LLVM通用功能和优化外，对中端及后端的关键技术点进行了深度优化，并集成Auto-tuner特性支持编译器自动调优。

- 软件包下载地址：  鲲鹏DevKit下载-毕昇编译器(https://www.hikunpeng.com/zh/developer/devkit/downloadNew)

- 安装和使用指导：《  毕昇编译器 用户指南(https://www.hikunpeng.com/document/detail/zh/kunpengdevps/compilation/ug-bisheng/kunpengbisheng_06_0003.html)
》


#### 指令翻译后的应用，重新启动后需要重新翻译吗？

需要重新翻译。ExaGear是动态翻译，不会改变x86应用二进制文件内容，只有执行过程中才会进行翻译。


#### 鲲鹏DevKit调优诊断是否支持x86服务器？

不支持，鲲鹏DevKit调优诊断目前仅支持基于鲲鹏920的服务器，支持的操作系统为openEuler 20.03（LTS）、CentOS 7.6、麒麟V10、Ubuntu 18.04.1等。


#### 鲲鹏DevKit调优诊断采集的数据在哪里？

DevKit性能分析采集分析源数据路径参考：/opt/DevKit/tools/rpc_cluster/server/storage/server/


#### 鲲鹏DevKit如何实时查看内存频率？

DevKit可以采集一定时间内的内存耗用情况，但无法实时查看，如Java性能分析(https://www.hikunpeng.com/document/detail/zh/kunpengdevps/profiler/profiler/devkit-hypertuner-097.html)。


#### 请问鲲鹏迁移工具进行源码迁移时，编译器版本和构建工具怎么选？

编译器版本选择自己环境所用的编译器版本，构建工具则需要具体看软件的构建文件如何编写。

- 如果使用Makefile，则选择make。
- 如果使用CMakeLists，则选择cmake。


#### 内网安装鲲鹏DevKit时，如何安装子工具？

内网安装鲲鹏DevKit，建议在鲲鹏DevKit下载(https://www.hikunpeng.com/zh/developer/devkit/downloadNew)获取全量包，并在安装时选择全部安装。

```
Select an installation mode:
[1] : Install the DevKit framework and all plugins
[2] : Install the DevKit framework and selected plugins
[3] : Install the DevKit framework
Enter the sequence number of the tool to be installed (default: 1):
```

安装过程中需要Yum或APT依赖，如果操作系统环境不可以联网，请用户自行配置满足工具需要依赖的本地源，具体操作请参见配置操作系统Yum/APT/Zypper源(https://www.hikunpeng.com/document/detail/zh/kunpengdevps/install/installguide/KunpengDevKit_0050.html)。


#### VS Code中在线安装好DevKit后，是否可以离线进行使用？

VS Code端和Linux服务端在同一个局域网中是可以的，因为涉及到Nginx服务。


#### VS Code安装DevKit工具时是否可以修改默认安装路径？

在VS Code中离线安装DevKit工具时，不支持修改工具默认安装路径。在线安装时，不支持修改安装包临时存放路径。


#### 软件迁移评估和源码迁移的主要区别是什么？

源码迁移检查分析C/C++/ASM/Fortran/解释型语言/汇编等源码文件，定位出需迁移代码并给出迁移指导，支持迁移编辑及一键代码替换功能；软件迁移评估自动扫描并分析软件包（非源码包）、已安装的软件，提供可迁移性评估报告，不提供源码建议。


#### 导入依赖字典模板怎么填写？

依赖字典导入为非必选操作，系统安装完成后已自带依赖字典，如果用户有自定义的且需要补充的依赖，则可以通过填写字典模板并导入。字典模板可通过单击“模板表格”获取，填写的URL为能够获取的地址，且导入的字典名称需与模板名称保持一致。


#### openEuler操作系统运行MPI+OpenMP精细化分析为何失败？

openEuler操作系统中自带的MPI工具为低版本MPICH，HPC应用分析任务目前仅支持MPICH 4.0.3及其以上版本。


#### 系统性能分析热点函数时没有产生火焰图？

火焰图无法显示的情况：

1. 浏览器版本过低，推荐使用较新的谷歌或Edge浏览器。
2. 采集数据量较大，火焰图大小超过了浏览器可以支持的大小上限；可清除浏览器缓存后重试。
3. 可手动下载“/opt/DevKit/tools/rpc_cluster/server/storage/server/{task_id}/{ip}/hotspot/Flamegraph-{timestamp}.html”并查看简易火焰图，简易版本对浏览器依赖极少。


#### 鲲鹏DevKit忘记账号密码如何找回？

对于普通用户，可联系管理员（devadmin）重置密码，具体操作请参见：重置密码(https://www.hikunpeng.com/document/detail/zh/kunpengdevps/Appendixes/Appendixes/KunpengDevKit_0072.html)。


#### 安装/使用DevKit工具对内存有明确要求吗？

安装DevKit要求系统空闲内存8GB及以上。内存配置较低不影响DevKit安装，但是部分工具功能特性在运行时需要较高内存，比如亲和分析工具的内存一致性检查（代码量越大，资源耗用越大）。

每个DevKit工具功能特性的资源耗用若有不同要求，会在相应的功能特性里作出说明。

内存一致性检查内存要求请参见：内存一致性静态检查(https://www.hikunpeng.com/document/detail/zh/kunpengdevps/development/affinityanalyzer/DevKit_Affinity_0007.html)。


#### Linux桌面系统使用Java性能分析工具，添加目标环境提示安装根目录但导入证书选项不可用

该场景不在规划范围，目前内部没有环境验证过，因此建议：

- Linux桌面系统导入证书，参考如下：

  1. 下载ca.crt证书文件，一般下载至根目录。
  2. 拷贝ca.crt证书文件至证书目录。

```
cp ca.crt /etc/pki/ca-trust/source/anchors/
```


  3. 切换至证书目录并查看。

```
cd /etc/pki/ca-trust/source/anchors/
ls
```


  4. 加载证书。

```
update-ca-trust extract
```


- Ubuntu安装证书
  将下载的ca.crt证书上传到 “/usr/local/share/ca-certificates/” 或 “/usr/share/ca-certificates/” 目录下，再执行：

```
update-ca-certificates
```


  或

```
dpkg-reconfigure ca-certificates
```


  重启CodeArts IDE，尝试重新添加节点。


#### 软件迁移评估提示“报告不存在，请重新扫描”

该问题可能由于上传文件路径权限不足导致，若是后端上传的目标软件或源码，需要手动赋权分析路径的属主权限，具体操作请参见：上传大文件(https://www.hikunpeng.com/document/detail/zh/kunpengdevps/portingadvisor/softwareportingassessment/DevKit_Porting_0036.html)。确保属主权限为devkit，以软件迁移评估为例：分析路径为“/opt/DevKit/workspace/devadmin/porting/package/”，请确认porting/package/两级目录属主权限。


#### 如何支持SIMD向量化？

SIMD相关信息请参见SIMD指令集(https://www.hikunpeng.com/document/detail/zh/perftuning/progtuneg/kunpengprogramming_05_0017.html)。

建议安装鲲鹏DevKit(https://www.hikunpeng.com/developer/devkit)，使用亲和分析工具的向量化检查(https://www.hikunpeng.com/document/detail/zh/kunpengdevps/development/affinityanalyzer/DevKit_Affinity_0009.html)对软件代码进行整体的分析，参考提供的向量化修改建议进行修改。


#### DevKit命令行top-down的结果中某一指标占比和是否为对应事件比例相加

目前DevKit的微架构分析结果展示中有些Level之间不是严格加和关系。仅作为一种一般定位问题的方法，主要比较该Level下对应事件之间的比例，用于发现该Level瓶颈位置，但该Level的比例和并不等于该Level下对应事件的比例相加。


#### 为何同一脚本在不同NUMA上触发的DDR带宽差异很大

绑核不同，DDRC流量分布会存在差异。差异很大时，可能是由于绑定不同NUMA发生了cache miss导致DDRC流量增加。脚本执行的程序逻辑和当前环境的CPU核和内存使用情况会导致cache miss不同，cache miss增加会导致程序执行的耗时增加，可分析一下绑定不同NUMA节点的耗时，进而排查需优化点。


#### DevKit扫描的热点函数导出后能否通过其他形式查看

可使用命令行的方式输出报告HTML格式文件，在浏览器查看，可参见热点函数分析(https://www.hikunpeng.com/document/detail/zh/kunpengdevps/profiler/profiler/KunpengDevKitCli_0065.html)。


#### 安装过程中提示缺少依赖包是否影响DevKit使用？

在安装过程中，存在两种依赖包，必选依赖包和可选依赖包，用户可按照回显指示安装。

- 必选依赖包：缺少会导致DevKit安装失败。
- 可选依赖包：若安装过程未失败则可忽略，不影响DevKit使用，但缺少可能会影响某些功能的完整性。如果确实需要使用这些可选依赖包，建议配置好repo源或单独编译好后配置环境变量。


#### DevKit Pipeline如何安装毕昇JDK 21？

DevKit Pipeline不支持批量安装毕昇JDK 21，只支持批量安装毕昇JDK 8和毕昇JDK 17。

若需要安装毕昇JDK 21及其他JDK版本，请通过以下两种方式进行安装：

- 单独安装：下载毕昇JDK安装包，在服务器上进行安装。
- 批量安装：请参见批量安装毕昇JDK(https://gitee.com/openeuler/devkit-pipeline/tree/master/tools/help_scripts)获取四个脚本文件，通过配置脚本文件批量安装毕昇JDK。
使用时配置的密码，请注意保护。


  - update_to_bisheng_jdk_in_batchs.sh：批量安装JDK脚本。
  - unpack_and_modify.sh：update_to_bisheng_jdk_in_batchs.sh的依赖文件，用于远程解压安装。
  - ip.all：check_java_home_and_path_in_batch.sh和update_to_bisheng_jdk_in_batchs.sh的依赖文件，为批量安装或者批量校验的IP地址。
  - check_java_home_and_path_in_batch.sh：检查是否批量安装JDK成功。
