Linux下查看CPU高速缓存(cache)信息

目录

1、查看CPU Cache级数,每级大小

2、查看cpuX中Cache的关联方式

3、查看cache line的大小

4、lscpu指令查看各级缓存和基本信息


1、查看CPU Cache级数,每级大小

[root@localhost ~]#  ls /sys/devices/system/cpu/cpu0/cache/
index0  index1  index2  index3
[root@localhost ~]#  ls /sys/devices/system/cpu/cpu0/cache/index0
coherency_line_size  level  number_of_sets  physical_line_partition  shared_cpu_list  shared_cpu_map  size  type  ways_of_associativity
[root@localhost ~]#  ls -l /sys/devices/system/cpu/cpu0/cache/index0
total 0
-r--r--r-- 1 root root 4096 Jan  3 14:22 coherency_line_size
-r--r--r-- 1 root root 4096 Jan  3 14:38 level
-r--r--r-- 1 root root 4096 Jan  3 14:38 number_of_sets
-r--r--r-- 1 root root 4096 Jan  3 14:38 physical_line_partition
-r--r--r-- 1 root root 4096 Jan  3 14:38 shared_cpu_list
-r--r--r-- 1 root root 4096 Jan  3 14:38 shared_cpu_map
-r--r--r-- 1 root root 4096 Jan  3 14:38 size
-r--r--r-- 1 root root 4096 Jan  3 14:38 type
-r--r--r-- 1 root root 4096 Jan  3 14:38 ways_of_associativity
[root@localhost ~]# cat /sys/devices/system/cpu/cpu0/cache/index0/level
1
[root@localhost ~]# cat /sys/devices/system/cpu/cpu0/cache/index1/level
1
[root@localhost ~]# cat /sys/devices/system/cpu/cpu0/cache/index2/level
2
[root@localhost ~]# cat /sys/devices/system/cpu/cpu0/cache/index3/level
3
[root@localhost ~]# cat /sys/devices/system/cpu/cpu0/cache/index3/type
Unified
[root@localhost ~]# cat /sys/devices/system/cpu/cpu0/cache/index0/type
Data
[root@localhost ~]# cat /sys/devices/system/cpu/cpu0/cache/index0/size
16K
[root@localhost ~]# cat /sys/devices/system/cpu/cpu0/cache/index1/size
32K

2、查看cpuX中Cache的关联方式

如查看cpu0 的一级缓存中的有多少组,

$ cat /sys/devices/system/cpu/cpu0/cache/index0/number_of_sets
$64

如查看cpu0的一级缓存中一组中的行数

$cat /sys/devices/system/cpu/cpu0/cache/index0/ways_of_associativity
$8

3、查看cache line的大小

       上面以本人电脑的cpu一级缓存为例知道了cpu0的一级缓存的大小:32k,其包含64个(sets)组,每组有8(ways),则可以算出每一个way(cache_line)的大小 cache_line = 32*1024/(64*8)=64 bytes。当然我们也可以通过以下命令查出cache_line的大小(单位是字节)

1、通过coherency_line_size文件

[root@localhost ~]# cat /sys/devices/system/cpu/cpu0/cache/index0/coherency_line_size
64

2、通过cpuinfo文件

$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 60
model name : Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz
stepping : 3
cpu MHz : 3497.664
cache size : 8192 KB //指的是三级cache大小
physical id : 0
siblings : 8
core id : 0
cpu cores : 4
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good xtopology tsc_reliable nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm sse4_1 sse4_2 movbe popcnt aes xsave avx lahf_lm abm ida arat tpr_shadow vnmi flexpriority ept vpid
bogomips : 6995.32
clflush size : 64
cache_alignment : 64
address sizes : 39 bits physical, 48 bits virtual

4、lscpu指令查看各级缓存和基本信息

       通过/proc/cpuinfo可以查看到很多信息,但里面的缓存只有三级缓存,下面的命令可以看到一级和二级缓存大小

[root@localhost ~]# lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                24
On-line CPU(s) list:   0-23
Thread(s) per core:    2
Core(s) per socket:    6
CPU socket(s):         2
NUMA node(s):          2
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 45
Stepping:              7
CPU MHz:               1997.29
BogoMIPS:              4012.50
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              15360K
NUMA node0 CPU(s):     0,2,4,6,8,10,12,14,16,18,20,22
NUMA node1 CPU(s):     1,3,5,7,9,11,13,15,17,19,21,23
[root@localhost ~]# 

基本上cpuinfo文件里的很多信息,这里也有了,简单信息说明如下:
l1d : 一级数据缓存 。
L1i :一级指令缓存 。
L2 cache : 二级缓存 。
L3 cache :三级缓存。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值