我有一台 3.06GHz 的 Intel Xeon CPU,缓存大小为 512KB。
我想知道机器的片上缓存是 L1 还是 L2。有没有办法通过 Unix 命令知道?
答案1
你没有说是哪种 Unix,但在 Linux 上你可以:
$ cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 72
model name : AMD Turion(tm) 64 X2 Mobile Technology TL-60
stepping : 2
cpu MHz : 1994.397
cache size : 512 KB
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm
bogomips : 3992.75
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc
不确定如何从 Solaris 框中获取相同数量的信息。我找到的最接近的是:
$ /usr/sbin/psrinfo -v
Status of virtual processor 0 as of: 08/07/2009 10:43:52
on-line since 01/19/2009 12:17:57.
The i386 processor operates at 2612 MHz,
and has an i387 compatible floating point processor.
答案2
这英特尔至强512KB有 512KBL2 缓存。
E7501,英特尔® 至强® 处理器 3.06 GHz、512K 缓存、533 MHz FSB
不过,检查你的处理器型号并查找。
处理器名称中的内存规格通常是 L2。
虽然处理器有一个L1和一个L3缓存也是如此。
答案3
计算机的 BIOS 可能包含详细的处理器信息。其中许多会列出 L1 和 L2 缓存的大小以及计算机中 CPU 的速度和型号。
答案4
512KB 太大,不能作为 L1 缓存,很可能是 L2。是的,所有最近的 L2 缓存都位于芯片内(与 L1 一起)。