為什么有cpu緩存?
為了解決CPU運算速度與內存讀寫速度不匹配的矛盾,就出現了CPU緩存。
CPU的運算速度要比內存讀寫速度快很多,這樣會使CPU花費很長的時間等待數據的到來或把數據寫入到內存中。
cpu的三級緩存:L1>
L2>
L3
就像數據庫緩存一樣,獲取數據時首先會在最快的緩存中找數據,如果緩存沒有命中(Cache miss) 則往下一級找, 直到三級緩存都找不到時,那只有向內存要數據了。一次次地未命中,代表取數據消耗的時間越長
(一)查看方法:
方式1:
$ lscpu
L1d cache: 32K <span style="white-space:pre"> </span>(一級數據緩存)
L1i cache: 32K <span style="white-space:pre"> </span><span style="font-family: Arial, Helvetica, sans-serif;">(一級指令緩存)</span>
L2 cache: 256K <span style="white-space:pre"> </span>(二級緩存)
L3 cache: 8192K<span style="white-space:pre"> </span>(三級緩存)
方式2:
$ cat /proc/cpuinfo
cache size : 3072 KB
那么cpu、內存、緩存的區別是什么:
緩存cache,也叫高速緩存器
它存在於內存和cpu之間
cache:分為:L1,L2,L3
CPU可以從內存、cache和硬盤中讀取數據,cache最快、內存次之、硬盤最慢。
讀取速度:
cache(L1>L2>L3)>內存>磁盤