搜索

第 26 章 检测错误共享

download PDF

当 Symmetric Multi Processing (SMP) 系统上的处理器核心修改供其他处理器使用的相同缓存行上的数据项时,会发生错误。

这个初始修改要求另一个使用缓存行的处理器使其副本无效,并且请求更新后一,尽管处理器不需要,甚至可能具有修改的数据项的更新版本。

您可以使用 perf c2c 命令检测 false 共享。

26.1. perf c2c 的目的

perf 工具的 c2c 子命令启用 Shared Data Cache-to-Cache (C2C) 分析。您可以使用 perf c2c 命令检查 cache-line contention 来检测 true 和 false 共享。

当 Symmetric Multi Processing (SMP) 系统中的处理器内核修改由其他处理器使用的同一缓存行上的数据项时,缓存行争用会出现这种情况。使用这个缓存行的所有其他处理器都必须使其副本无效,并请求更新过。这会导致性能下降。

perf c2c 命令提供以下信息:

  • 缓存被检测到竞争的行
  • 读取和写入数据的进程
  • 导致竞争的说明
  • 涉及内容的 Non-Uniform Memory Access (NUMA) 节点
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.