介绍
概述
鲲鹏DevKit命令行工具是一款涵盖系统/应用迁移、亲和分析、编译调试和调优诊断等的工具集,本文档介绍了鲲鹏DevKit命令行工具获取,以及对其进行安装、使用的方法,对鲲鹏DevKit命令行工具操作及其各项子功能做了详细介绍。当前支持的功能如下表。
工具 |
说明 |
支持平台 |
|---|---|---|
检查并分析用户C/C++/ASM/Fortran/Go/Java/Python/Scala语言等源码文件,定位出需迁移代码并给出迁移指导。 |
鲲鹏、x86 |
|
支持收集应用系统中软件包、中间件、数据库等已安装软件信息,以及分析Maven工程POM文件中依赖的兼容性。同时支持镜像迁移能力,可生成Dockerfile和构建镜像资源文件,以及兼容性分析报告。 |
鲲鹏、x86、Windows Server 2008/Windows Server 2012/Windows Server 2016 |
|
帮助用户分析用户x86环境下软件包安装路径中的SO/DLL库文件,精准检测其与鲲鹏平台的兼容性,并为不兼容的文件提供替换下载链接。 |
鲲鹏、x86 |
|
支持鲲鹏平台软件代码质量检查,提升代码质量、优化访存性能。 |
鲲鹏、x86(x86平台仅支持计算精度分析、链路时延检测) |
|
基于Clang/LLVM的静态代码分析工具,专注于C/C++代码的向量化优化。工具能够自动识别可向量化的循环模式,也支持通过启用x86 Intel intrinsics分析功能,识别x86向量化指令,自动生成优化后的ARM向量化代码,实现代码的自动化改写,帮助开发者快速将代码转换为高效的ARM向量化代码,充分发挥NEON/ |
鲲鹏 |
|
支持对用户定义的配置文件(.ini)进行解析并生成头文件,可在程序文件中包含头文件调用接口,记录日志信息。同时集成CTF反序列化功能,可完成对日志文件的解析输出。 |
鲲鹏、x86 |
|
支持对MPI及MPI+OpenMP程序进行Launch调试,仅支持mpirun命令运行方式。支持对MPI及MPI+OpenMP程序进行Attach调试,仅支持 |
鲲鹏 |
|
轻量准确的鲲鹏硬件静态信息快速收集工具,帮助用户在调优前了解整体硬件状态。 说明:
鲲鹏健康检测Kspect曾用名为KHC。 |
鲲鹏 |
|
分析应用程序存在的异常问题。 |
鲲鹏 |
|
用于检测内存带宽与时延的关系。 |
鲲鹏 |
|
支持一键采集多维度性能数据,包括Miss、访存统计、 说明:
|
鲲鹏、x86 |
|
提供系统多场景性能采集和分析能力,并基于调优系统给出优化建议。 说明:
和鲲鹏性能定界工具相比,系统性能分析支持多维度的深度性能分析,更聚焦于调优中后期的瓶颈深入分析。如可通过微架构分析特性,从微架构层面逐层拆解指令执行效率,用访存统计分析特性分析定位Cache Miss来源与内存访问模式缺陷。 |
鲲鹏 |
|
针对运行在鲲鹏服务器的Java程序进行性能的分析和优化。 |
鲲鹏 |
|
对Python程序及Python和C/C++的混合程序进行采样,分析调用栈信息。 |
鲲鹏 |
|
在运行源码时采集性能数据并提供源码优化建议的源码优化工具,支持C、C++、GO和Java。该工具能够进行函数级Top-down分析、函数调用链分析和内存分析,帮助开发者梳理业务执行逻辑,快速定位性能瓶颈,提供源码优化建议,从而快速解决业务性能问题,提升开发效率和运维效率。 |
鲲鹏、x86 |
|
支持对单进程、多进程进行分析,分析进程的冷热内存,把冷内存换出到Swap空间,释放物理内存。 |
鲲鹏 |
|
链路时延检测工具是一个为解决复杂C/C++应用性能问题而设计的动态分析工具。 |
鲲鹏 |
|
监测Java应用的Code Cache、JIT Compiler指标,发现导致性能波动的异常指标后,给出指标异常告警。 |
鲲鹏 |
|
鲲鹏领域调优工具是基于鲲鹏平台的场景化调优工具,通过“一键典配”->“参数自动调优”两步走,使能鲲鹏开箱即优,支持大数据/数据库等场景,后续持续迭代扩展支持的场景。工具通过固化现场专家调优经验,实现典型BIOS/OS/业务参数配置和鲲鹏亲和特性的一键使能,同时基于内置AI算法进行参数寻优,获取更优参数组合及推荐值,帮助挖掘配置维度性能的上限。 |
鲲鹏 |
|
基于不同场景的应用性能指标进行应用配置参数或系统参数的自动寻优。 |
鲲鹏 |
命令行格式约定
格式 |
意义 |
|---|---|
粗体 |
命令行关键字(命令中保持不变、必须照输的部分)采用加粗字体表示。 |
斜体 |
命令行参数(命令中必须由实际值进行替代的部分)采用斜体表示。 |
[ ] |
表示用“[ ]”括起来的部分在命令配置时是可选的。 |
{ x | y | ... } |
表示从两个或多个选项中选取一个。 |
[ x | y | ... ] |
表示从两个或多个选项中选取一个或者不选。 |
{ x | y | ... }* |
表示从两个或多个选项中选取多个,最少选取一个,最多选取所有选项。 |
[ x | y | ... ]* |
表示从两个或多个选项中选取多个或者不选。 |
&<1-n> |
表示符号&前面的参数可以重复1~n次。 |
# |
表示由“#”开始的行为注释行。 |
