如何查看最后一级缓存中有多少片? [英] How do I see how many slices are in the last level cache?
问题描述
我在一篇论文中读到关于末级缓存的介绍。在引言中,有人说末级缓存有很多片。每个片就像一个传统的集关联缓存。根据集合索引和切片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屋!