---
title: 内存一致性静态检查
description: "内存一致性静态检查 就是检查源码迁移在鲲鹏平台运行时可能存在的内存一致性问题，并提供插入内存屏障的建议。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdevps/development/affinityanalyzer/DevKit_Affinity_0007.html
sourcePath: /source/zh/kunpengdevps/development/affinityanalyzer/DevKit_Affinity_0007.html
indexId: 6d37998e251bac22d08522ede131d9ef3fc7aaa3ae22b0a70ead8cd2b12ae1d478
---
# 内存一致性静态检查

内存一致性静态检查 就是检查源码迁移在鲲鹏平台运行时可能存在的内存一致性问题，并提供插入内存屏障的建议。

- 由于运行内存一致性静态检查时，生成的中间文件较大，如果用户想要使用该功能，请确保安装工具的所在磁盘空间足够大。根据经验数据，每10万行代码需要100GB左右的可用磁盘空间。
- 源码规模过大可能会导致占用资源过多，建议代码量不超过10万行。
- 内存一致性静态检查功能仅支持在鲲鹏平台上运行。


#### 前提条件

已成功登录鲲鹏DevKit。- “/opt”为工具默认安装目录，下文以此默认路径为例，请根据实际情况替换。
- 在插件工具中支持扫描本地工程，若源码为压缩包格式，请先解压然后选择解压后的文件夹。


#### 操作步骤

1. 在页面左侧，“亲和分析”下拉选项中选择“内存一致性静态检查”，单击创建任务，如图1所示。
  图1 内存一致性静态检查

2. 选择“检查模式”。

  - 静态检查。
  - 编译器自动修复，需要用户根据页面提供的操作步骤进行操作，详情请参见    编译器自动修复工具使用指导
。
    静态检查的结果误报少、修复率最高为60%，编译器自动修复结果不会漏报，误报率比静态检查高，修复率可保证100%。误报越多，性能影响相对越大。不同软件下编译的修复率不同，性能影响也不同。

3. 填写“源码文件存放路径”。可以通过以下两种方式实现：

  - 手动填写源码文件的绝对路径。
  - 单击右侧“选择文件夹”，选择源码文件存储文件夹。
4. 填写“BC文件存放路径”。可以通过以下两种方式实现：

  - 手动填写BC文件的绝对路径。
  - 单击右侧“选择文件夹”，选择BC文件存储文件夹。
- 关于BC文件的含义及获取方式，请参见  生成BC文件
。
- 只允许同时上传一个文件夹，文件夹小于或等于剩余磁盘空间的一半。


5. 选择是否生成编译器配置文件，默认为“否”。
6. 单击“开始检查”，开始内存一致性静态检查。检查完成后，自动跳转至检查报告界面，如图2所示。
  图2 内存一致性静态检查报告

  可单击对需修改的源码文件按照路径或建议项数量进行排序。 可单击界面右上角“下载报告”，选择“下载报告 (.csv)”或“下载报告 (.html)”，下载分析报告到本地进行查看。或单击任务右侧按钮，选择“下载报告 (.csv)”或“下载报告 (.html)”，下载分析报告到本地进行查看。 如果选择了“生成编译器工具配置文件”，可单击界面右上角“下载报告”，选择“下载编译器配置文件”。或单击任务右侧按钮，选择“下载编译器配置文件”。 如果下载编译器工具配置文件时系统提示“该编译器文件不是最新的”，单击“前往查看”到最新报告中下载。如果系统再提示“最新报告中没有编译器配置文件”，请按照提示操作。

**表1 报告结果参数说明**

| 参数 | 说明 |
| --- | --- |
| 源码文件统计 | 源码文件统计 |
| 需修改文件数 | 源码文件路径下扫描出需要修改的文件总数。 |
| 需修改代码行 | 需要修改的代码行数。 |
| 建议项总数 | 建议修改的项目总数。为了更好更快地在鲲鹏平台上运行程序，我们建议您按照建议项进行修改。 |
| 需修改的源码文件 | 显示需要修改的源码文件和建议项数量，通过单击操作列“查看建议源码”可以快速进入对应的源码文件建议页面。 |


7. 单击“查看建议源码”进入源码修改建议页面，如图3所示。
  图3 源码修改建议

  支持多个用户同时创建内存一致性静态检查任务。 用户可在任务进行过程中单击关闭，取消任务。 若需要修改当前成功或失败任务的配置，可单击当前任务名称右侧的按钮进行重启任务操作。 用户如使用快捷键进行源码操作，需注意因输入法或IDE环境导致的快捷键被占用问题。 检查失败或检查结果为无需修改时，会产生空白报告。 若提示任务超时，请参见用户进行任务时提示任务超时的解决方法进行处理。
