如何查看最后一级缓存中有多少片? [英] How do I see how many slices are in the last level cache?

查看:0
本文介绍了如何查看最后一级缓存中有多少片?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在一篇论文中读到关于末级缓存的介绍。在引言中,有人说末级缓存有很多片。每个片就像一个传统的集关联缓存。根据集合索引和切片ID找到对应的缓存集合(如下图所示)。

我想检查我的服务器有多少个切片。以及每个片的信息(多少个缓存组、每个缓存组中有多少缓存行)。我在Google上搜索的方法是查看/sys/devices/system/cpu/cpu0/cache/index3文件夹下的缓存信息。

但是检查后,我发现这个文件夹下的介绍与L1和L2没有什么不同。此文件夹下的文件有

coherency_line_size  level           physical_line_partition  shared_cpu_list  size  uevent
id                   number_of_sets  power                    shared_cpu_map   type  ways_of_associativity

如何检查服务器上有多少切片?此处显示的number_of_sets是切片缓存集吗?

我正在使用服务器。版本为:Linux version 4.15.0-122-generic (buildd@lcy01-amd64-010) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12)) #124~16.04.1-Ubuntu SMP.

推荐答案

哈斯韦尔和布罗德韦尔

以下处理器集合使用服务器非核心微体系结构:

  • 核心X
  • 至强E5
  • 至强E7

在这些处理器上,可以获得L3缓存片的数量如下:

第一步:在Linux终端上运行以下命令:

setpci | grep Power
这将显示系统中每个处理器包的PCU的PCI设备功能列表。双至强E5 v4处理器系统上的输出示例如下:

df:1e.0 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit (rev 01)
df:1e.1 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit (rev 01)
df:1e.2 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit (rev 01)
df:1e.3 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit (rev 01)
df:1e.4 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit (rev 01)
df:1e.0 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit (rev 01)
df:1e.2 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit (rev 01)
ff:1e.0 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit (rev 01)
ff:1e.1 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit (rev 01)
ff:1e.2 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit (rev 01)
ff:1e.3 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit (rev 01)
ff:1e.4 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit (rev 01)
ff:1e.0 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit (rev 01)
ff:1e.2 System peripheral: Intel Corporation Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit (rev 01)
总线df上的设备功能位于一个处理器上,而总线ff上的设备功能位于另一个插槽上。唯一需要的信息是公交车号码。以公交df为例。

第二步:运行以下命令:

sudo setpci -s df:1e.3 98.l
46000f2e就是一个例子。该值的位0-23表示位向量,其中位值0表示启用的L3缓存片,位值0表示禁用的缓存片。实际上,您不能自己禁用任何切片;只有PCU可以在包C状态转换期间这样做。在正常操作期间,将启用所有可用切片。因此,设置位的数量就是切片的数量。在本例中,位向量000f2e设置了8位,因此所选处理器上的切片数为8。

通常,同一共享内存系统中的所有英特尔处理器都是同类的,但如果需要,您可以对每个处理器重复上述状态。

通常,最多可以有24个片,每个片的大小最大为2.5 MiB。

沙桥和常青藤桥

以下处理器集合使用服务器非核心微体系结构:

  • 核心X
  • 至强E5
  • 至强E7

第一步:同上一步。

第二步:运行以下命令:

sudo setpci -s XX:0a.3 94.l
其中XX是步骤1中的总线号。位0-14表示高速缓存切片位向量。通常,最多可以有15个存储片,每个存储片的大小最大为2.5 MiB。

我不确定这种方法在Sandy Bridge处理器和Ivy Bridge的Core X系列上是否有效,但检查一下它是否有效没有什么坏处。

天湖、瀑布湖和库珀湖

以下处理器集合使用服务器非核心微体系结构:

  • 核心X
  • 至强SP
  • 至强W
  • 至强D

第一步:同上一步。

第二步:运行以下命令(感谢@JohnDMcCalpin):

sudo setpci -s XX:1e.3 9c.l
其中XX是步骤1中的总线号。位0-27表示高速缓存切片位向量。通常,最多可以有28个存储片,每个存储片的大小为1.375 MiB。

英特尔发布的所有服务器无核的处理器型号都有由1.375 MiB切片组成的L3缓存。存储片的数量是总缓存大小除以1.375 MiB。我没有发现任何例外。

冰湖

以下处理器集合使用服务器非核心微体系结构:

  • 至强SP

在我看来,这些处理器上的切片大小为1.5 MiB。

尼哈勒姆和韦斯特米尔

以下处理器集合使用具有分布式L3缓存的服务器非核心微体系结构:

  • 至强6500
  • 至强7500
  • 至强E7

这些处理器上的切片大小最大可达3 MiB。

采用服务器非核心设计的所有其他英特尔处理器

它们不使用分布式缓存体系结构,因此这些处理器上不存在切片的概念。

这篇关于如何查看最后一级缓存中有多少片?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆