Ⅰ 系統緩存到底是什麼意思啊
系統緩存
較慢的CPU頻率 較快的CPU頻率
如果將CPU比作一個城裡的傢具廠,而將存儲系統比作郊區的木料廠,那麼實際情況就是木料廠離傢具廠越來越遠,即使使用更大的卡車來運送木料,傢具廠也得停工來等待木料送來。
在這樣的情況下,一種解決方法是在市區建立一個小型倉庫,在裡面放置一些傢具廠最常用到的木料。這個倉庫實際上就是傢具廠的「Cache」,傢具廠就可以從倉庫不停的及時運送需要的木料。當然,倉庫越大,存放的木料越多,效果就越好,因為這樣即使是些不常用的東西也可以在倉庫里找到。如果我們需要的木料倉庫里沒有,就要從城外的木料廠里繼續找,而傢具廠就得等著了。
我想現在大家已經明白了我的意思,倉庫就相對於L1緩存,可以由CPU及時快速的讀寫,所以存儲的是CPU最常用代碼和數據(後面我們會介紹一下如何挑選「最常用」)。L1緩存的速度比系統內存快的多是因為使用的是SRAM,這種內存單晶元使用四到六個晶體管。這也使得SRAM的造價相當的高,所以不能拿來用在整個存儲系統上。
在大多數CPU上,L1緩存和核心一起在一塊晶元上。如果在我們傢具廠的例子中,就好比工廠和倉庫在同一條街上。這樣的設計使CPU可以從最近最快的地方得到數據,但是也使得「城外的木料廠」到「倉庫」和到「傢具廠」的距離差不多遠。這樣如果CPU需要的數據不在L1緩存中,也就是「Cache Miss」,從存儲設備取數據就要很長時間了。處理器速度越快,兩者之間的差距就越大。如果使用Pentium4那樣的高頻率處理器,從內存中取得數據就相當於「木料廠」位於另一個國家。
Ⅱ "緩存"是怎麼一回事
緩存簡介
CPU緩存(Cache Memory)位於CPU與內存之間的臨時存儲器,它的容量比內存小但交換速度快。在緩存中的數據是內存中的一小部分,但這一小部分是短時間內CPU即將訪問的,當CPU調用大量數據時,就可避開內存直接從緩存中調用,從而加快讀取速度。由此可見,在CPU中加入緩存是一種高效的解決方案,這樣整個內存儲器(緩存+內存)就變成了既有緩存的高速度,又有內存的大容量的存儲系統了。緩存對CPU的性能影響很大,主要是因為CPU的數據交換順序和CPU與緩存間的帶寬引起的。
緩存是為了解決CPU速度和內存速度的速度差異問題。內存中被CPU訪問最頻繁的數據和指令被復制入CPU中的緩存,這樣CPU就可以不經常到象「蝸牛」一樣慢的內存中去取數據了,CPU只要到緩存中去取就行了,而緩存的速度要比內存快很多。
這里要特別指出的是:
1.因為緩存只是內存中少部分數據的復製品,所以CPU到緩存中尋找數據時,也會出現找不到的情況(因為這些數據沒有從內存復制到緩存中去),這時CPU還是會到內存中去找數據,這樣系統的速度就慢下來了,不過CPU會把這些數據復制到緩存中去,以便下一次不要再到內存中去取。
2.因為隨著時間的變化,被訪問得最頻繁的數據不是一成不變的,也就是說,剛才還不頻繁的數據,此時已經需要被頻繁的訪問,剛才還是最頻繁的數據,現在又不頻繁了,所以說緩存中的數據要經常按照一定的演算法來更換,這樣才能保證緩存中的數據是被訪問最頻繁的。
緩存的工作原理
緩存的工作原理是當CPU要讀取一個數據時,首先從緩存中查找,如果找到就立即讀取並送給CPU處理;如果沒有找到,就用相對慢的速度從內存中讀取並送給CPU處理,同時把這個數據所在的數據塊調入緩存中,可以使得以後對整塊數據的讀取都從緩存中進行,不必再調用內存。
正是這樣的讀取機制使CPU讀取緩存的命中率非常高(大多數CPU可達90%左右),也就是說CPU下一次要讀取的數據90%都在緩存中,只有大約10%需要從內存讀取。這大大節省了CPU直接讀取內存的時間,也使CPU讀取數據時基本無需等待。總的來說,CPU讀取數據的順序是先緩存後內存。
一級緩存和二級緩存
為了分清這兩個概念,我們先了解一下RAM 。RAM和ROM相對的,RAM是掉電以後,其中的信息就消失那一種,ROM在掉電以後信息也不會消失那一種。
RAM又分兩種,一種是靜態RAM,SRAM;一種是動態RAM,DRAM。前者的存儲速度要比後者快得多,我們現在使用的內存一般都是動態RAM。
有的菜鳥就說了,為了增加系統的速度,把緩存擴大不就行了嗎,擴大的越大,緩存的數據越多,系統不就越快了嗎?緩存通常都是靜態RAM,速度是非常的快, 但是靜態RAM集成度低(存儲相同的數據,靜態RAM的體積是動態RAM的6倍), 價格高(同容量的靜態RAM是動態RAM的四倍), 由此可見,擴大靜態RAM作為緩存是一個非常愚蠢的行為, 但是為了提高系統的性能和速度,我們必須要擴大緩存, 這樣就有了一個折中的方法,不擴大原來的靜態RAM緩存,而是增加一些高速動態RAM做為緩存, 這些高速動態RAM速度要比常規動態RAM快,但比原來的靜態RAM緩存慢, 我們把原來的靜態ram緩存叫一級緩存,而把後來增加的動態RAM叫二級緩存。
一級緩存和二級緩存中的內容都是內存中訪問頻率高的數據的復製品(映射),它們的存在都是為了減少高速CPU對慢速內存的訪問。 通常CPU找數據或指令的順序是:先到一級緩存中找,找不到再到二級緩存中找,如果還找不到就只有到內存中找了。
緩存的技術發展
最早先的CPU緩存是個整體的,而且容量很低,英特爾公司從Pentium時代開始把緩存進行了分類。當時集成在CPU內核中的緩存已不足以滿足CPU的需求,而製造工藝上的限制又不能大幅度提高緩存的容量。因此出現了集成在與CPU同一塊電路板上或主板上的緩存,此時就把 CPU內核集成的緩存稱為一級緩存,而外部的稱為二級緩存。一級緩存中還分數據緩存(Data Cache,D-Cache)和指令緩存(Instruction Cache,I-Cache)。二者分別用來存放數據和執行這些數據的指令,而且兩者可以同時被CPU訪問,減少了爭用Cache所造成的沖突,提高了處理器效能。英特爾公司在推出Pentium 4處理器時,用新增的一種一級追蹤緩存替代指令緩存,容量為12KμOps,表示能存儲12K條微指令。
隨著CPU製造工藝的發展,二級緩存也能輕易的集成在CPU內核中,容量也在逐年提升。現在再用集成在CPU內部與否來定義一、二級緩存,已不確切。而且隨著二級緩存被集成入CPU內核中,以往二級緩存與CPU大差距分頻的情況也被改變,此時其以相同於主頻的速度工作,可以為CPU提供更高的傳輸速度。
二級緩存是CPU性能表現的關鍵之一,在CPU核心不變化的情況下,增加二級緩存容量能使性能大幅度提高。而同一核心的CPU高低端之分往往也是在二級緩存上有差異,由此可見二級緩存對於CPU的重要性。
CPU在緩存中找到有用的數據被稱為命中,當緩存中沒有CPU所需的數據時(這時稱為未命中),CPU才訪問內存。從理論上講,在一顆擁有二級緩存的CPU中,讀取一級緩存的命中率為80%。也就是說CPU一級緩存中找到的有用數據占數據總量的80%,剩下的20%從二級緩存中讀取。由於不能准確預測將要執行的數據,讀取二級緩存的命中率也在80%左右(從二級緩存讀到有用的數據占總數據的16%)。那麼還有的數據就不得不從內存調用,但這已經是一個相當小的比例了。目前的較高端的CPU中,還會帶有三級緩存,它是為讀取二級緩存後未命中的數據設計的—種緩存,在擁有三級緩存的CPU中,只有約5%的數據需要從內存中調用,這進一步提高了CPU的效率。
為了保證CPU訪問時有較高的命中率,緩存中的內容應該按一定的演算法替換。一種較常用的演算法是「最近最少使用演算法」(LRU演算法),它是將最近一段時間內最少被訪問過的行淘汰出局。因此需要為每行設置一個計數器,LRU演算法是把命中行的計數器清零,其他各行計數器加1。當需要替換時淘汰行計數器計數值最大的數據行出局。這是一種高效、科學的演算法,其計數器清零過程可以把一些頻繁調用後再不需要的數據淘汰出緩存,提高緩存的利用率。
CPU產品中,一級緩存的容量基本在4KB到64KB之間,二級緩存的容量則分為128KB、256KB、512KB、1MB、2MB、4MB等。一級緩存容量各產品之間相差不大,而二級緩存容量則是提高CPU性能的關鍵。二級緩存容量的提升是由CPU製造工藝所決定的,容量增大必然導致CPU內部晶體管數的增加,要在有限的CPU面積上集成更大的緩存,對製造工藝的要求也就越高。
現在主流的CPU二級緩存都在2MB左右,其中英特爾公司07年相繼推出了台式機用的4MB、6MB二級緩存的高性能CPU,不過價格也是相對比較高的,對於對配置要求不是太高的朋友,一般的2MB二級緩存的雙核CPU基本也可以滿足日常上網需要了。
cache
buffer
其實很多問題還是自己搜下吧
Ⅲ 系統緩存是什麼
系統緩存分為:實際的和虛擬的兩種。
實際的指的就是物理的,存在cpu上的一級,二級緩存了,物理緩存一般都比較小的
虛擬的就是用戶根據自己的機器配置不同創建的,一般大小為內存的1.5倍是硬碟上劃的一部分空間
對了,2樓那為說的對,就是緩沖作用,就像一個人直接到不了100樓那樣,是要過度的,cpu與內存存在速度差異,用緩存來過度
·更多資料
許多人認為,「緩存」是內存的一部分
許多技術文章都是這樣教授的
但是還是有很多人不知道緩存在什麼地方,緩存是做什麼用的
其實,緩存是cpu的一部分,它存在於cpu中
cpu存取數據的速度非常的快,一秒鍾能夠存取、處理十億條指令和數據(術語:cpu主頻1g),而內存就慢很多,快的內存能夠達到幾十兆就不錯了,可見兩者的速度差異是多麼的大
緩存是為了解決cpu速度和內存速度的速度差異問題
內存中被cpu訪問最頻繁的數據和指令被復制入cpu中的緩存,這樣cpu就可以不經常到象「蝸牛」一樣慢的內存中去取數據了,cpu只要到緩存中去取就行了,而緩存的速度要比內存快很多
這里要特別指出的是:
1.因為緩存只是內存中少部分數據的復製品,所以cpu到緩存中尋找數據時,也會出現找不到的情況(因為這些數據沒有從內存復制到緩存中去),這時cpu還是會到內存中去找數據,這樣系統的速度就慢下來了,不過cpu會把這些數據復制到緩存中去,以便下一次不要再到內存中去取。
2.因為隨著時間的變化,被訪問得最頻繁的數據不是一成不變的,也就是說,剛才還不頻繁的數據,此時已經需要被頻繁的訪問,剛才還是最頻繁的數據,現在又不頻繁了,所以說緩存中的數據要經常按照一定的演算法來更換,這樣才能保證緩存中的數據是被訪問最頻繁的
3.關於一級緩存和二級緩存
為了分清這兩個概念,我們先了解一下ram
ram和rom相對的,ram是掉電以後,其中才信息就消失那一種,rom在掉電以後信息也不會消失那一種
ram又分兩種,
一種是靜態ram,sram;一種是動態ram,dram。前者的存儲速度要比後者快得多,我們現在使用的內存一般都是動態ram。
有的菜鳥就說了,為了增加系統的速度,把緩存擴大不就行了嗎,擴大的越大,緩存的數據越多,系統不就越快了嗎
緩存通常都是靜態ram,速度是非常的快,
但是靜態ram集成度低(存儲相同的數據,靜態ram的體積是動態ram的6倍),
價格高(同容量的靜態ram是動態ram的四倍),
由此可見,擴大靜態ram作為緩存是一個非常愚蠢的行為,
但是為了提高系統的性能和速度,我們必須要擴大緩存,
這樣就有了一個折中的方法,不擴大原來的靜態ram緩存,而是增加一些高速動態ram做為緩存,
這些高速動態ram速度要比常規動態ram快,但比原來的靜態ram緩存慢,
我們把原來的靜態ram緩存叫一級緩存,而把後來增加的動態ram叫二級緩存。
一級緩存和二級緩存中的內容都是內存中訪問頻率高的數據的復製品(映射),它們的存在都是為了減少高速cpu對慢速內存的訪問。
通常cpu找數據或指令的順序是:先到一級緩存中找,找不到再到二級緩存中找,如果還找不到就只有到內存中找了
Ⅳ 手機的系統緩存是什麼是怎樣形成的有什麼作用
緩存指:是系統運行時產生臨時文件交換區,手機把最常用的文件從存儲器里提出來臨時放在
緩存里,就像把工具和材料搬上工作台一樣,這樣會比用時現去倉庫取更方便。是系統運行時
產生的零時文件,作用是提升系統運行速度,刪除了自然速度會變慢,但是系統重新生成了運
行速度又會恢復。
緩存形成:因為緩存往往使用的是RAM(斷電即掉的非永久儲存),所以在忙完後還是會把文
件送到手機存儲器里,千萬不能把緩存理解成一個東西,它是一種處理方式的統稱。
緩存作用:緩存是為了解決CPU速度和內存速度的速度差異問題 。
Ⅳ 什麼是緩存什麼是系統緩存
緩存就是用來加速軟體運行的存儲。如由於硬碟速度比內存慢因此運算需要經常用到的東西放到內存中做緩存。資料庫中的常用數據如代碼表,可以先從資料庫讀出來,放到應用伺服器端的緩存軟體中作為緩存加快應用伺服器讀取速度。
緩存是一張非常常用的性能優化方法。常用緩存軟體有ehcache,memcache,redis等
Ⅵ 系統緩存起什麼作用
理解緩存
操作系統的任務主要是合理地調配系統的各種資源,為各種程序的運行提供環境,它可以看作是硬體和應用軟體之間的一個媒介。其中對內存的管理是系統的最主要的職責,怎麼樣使有限的內存用在刀刃上,怎麼要保證系統本身所需的內存(以防止死機,在win2000和winxp里這一點已經做的非常好了),怎樣克服各種硬體連接的瓶頸。
本文主要就這種硬體連接的瓶頸問題展開一些討論。大家知道計算機的主要硬體,硬碟,內存和處理器之間的速度是不一樣的,其中處理器的速度是非常快的,內存次之,而硬碟的速度是很慢的(相對於處理器來說),一件任務的處理要通過處理器給出的指令,把相關數據從硬碟里調出來,到內存,在內存和處理器之間還會有許多數據的傳輸,內存本身不能處理數據,要通過處理器來處理,當他們一起工作的時候,由於處理器和內存工作得快,它們常在把事做完了沒事做了,要等硬碟,這樣就大大降低了系統的整體性能,不能發揮所有硬體的性能。為了解決這個問題,一個優秀的操作系統必然要有「緩存」來作為這些硬體之間的一個中間站,來緩和這種矛盾,從而一定程度上提高系統的性能,「緩存」處理的越好,系統的性能發揮的越好。所以研究「緩存」就有了它的意義。
看了上面的內容,以前對「緩存」沒有認識的朋友應該理解它了。理解之後馬上可以應用的地方就是在自購兼容機的時候。大家大可不必去追趕潮流,買什麼P4處理器,而應該買一個快一點的硬碟,比如買個7200轉的(或更快的),以減少瓶頸的矛盾。處理器嗎,買賽揚好了,一般是沒問題的,處理器大多數時候是閑著的,有時處理很多個大任務時可能會有些緊張,注意避免就可以了。
從某種角度講,內存本身是硬碟和處理器之間的一個緩存,它的作用是緩解硬碟和處理器之間的尖銳矛盾的。當它被作為一個固定的部件後,它本身也成了需要用緩存來緩解瓶頸的對象。它對處理器和硬碟夾在中間,是他們的必經之路,硬碟與處理器之間的關系成了硬碟與內存和內存與處理器之間的雙重關系。所以上面提到的瓶頸問題的處理歸結為對內存的優化,即怎樣處理好硬碟與內存之間的緩存很處理器與內存之間的緩存。
對於一個想了解操作系統的人來說,能夠理解「緩存」對對它做適當的優化是比不可少的一節課。另外再不從一下,緩存的概念是很廣泛的,這里專指內存的緩存。
緩存的優化
操作系統本身已經有了很多優化措施,而我們只能在它的優化措施的基礎上根據我們的實際情況來優化。
1,最「著名」的緩存是頁面文件,這個倒不是緩解速度的,而是緩解容量的,在速度上,硬碟不如內存,但是容量上,內存是不可能跟硬碟比的,當你運行一個程序需要大量數據,佔有大量內存時,內存就要被塞滿,怎麼辦呢?把那些暫時不用的放到硬碟里去,因為處理器總是只調用處理一個任務所需的數據,其他的准備的數據(就是那些可能要用的,但暫時還不用的)可以先放一放,如果內存放不下,就只好放到硬碟了。但是這樣做是有代價的,當放到內存的數據重新要被使用時,你就得等很長時間等系統把在硬碟中得數據調上來。其實你可以感受到系統的這些動作,比如你打開IE或Office,第一次打開是很慢的,但是關閉後馬上再打開就快很多,這是因為這時數據還沒被系統「請」出內存,系統從內存中直接取得數據自然快了;另一個情況,當你開了一個photoshop這樣的大軟體,這時打開Office要比平時還慢一點,這是因為內存本來被photoshop佔領著,要調入Office的數據到內存就必須把photoshop的數據「請」出內存,多了這個過程,打開自然要慢一些。
優化頁面文件,可以做一下幾條:
1)把頁面文件放到系統盤之外,這樣做主要是為了保持頁面文件的連續性,硬碟讀取數據是靠磁頭在磁性物質上「讀」得到數據的,頁面文件放在物理上的不同區域,磁頭就要跳來跳去,自然不利於效率。系統盤文件眾多,頁面文件幾乎肯定不連續。所以要把它移到其他盤。要提醒一點,當你移動好頁面文件後,要把原來的刪除掉,系統不會自動刪除。
2)如果有兩個硬碟,把頁面文件放在轉速快的那個,原因上面已講了很多遍了。
3)最大最小頁面文件的設置原則。有很多人建議將這兩個值設置成相等的,我不知道他們是那裡來的依據,其實這樣設置是不合理的。我們先要知道他們兩個值的意義。一般情況下,內存是不會真的「塞滿」,它會在內存儲量到達一定程度時自動將一部分暫時不用的數據放到硬碟,最小頁面文件是所說的「一定程度」的具體比例的決定因素,最小頁面文件大,比例就低,反之則相反;最大頁面文件是極限值,有時你開了很多程序,內存和最小頁面文件都滿了,就自動溢出到最大頁面文件。所以,將兩者設為一樣大是不合理的。最小頁面文件要小一些,這樣能夠在內存中盡可能存更多的數據,效率就高,最大頁面文件大一些,以免出現「全滿」的的情況。
4)winxp現在支持4G內存,哪怕你有5,6百M的內存,你都不需頁面文件了,這時可以把頁面文件禁掉。到注冊表編輯器HKEY_LOCAL_MACHINE\System\CurrentControlSet\ControlSession Manager \Memory Management下,找到DisablePagingExecutive(禁用頁面文件)設其值為1。
5)在同上的注冊表編輯器位置上有個ClearPageFileAtShutdown(關機時清除頁面文件),這里所說的「清除」頁面文件(即虛擬內存)並非是指從硬碟上完全刪除pagefile .sys這個文件,而是對其進行「清洗」和整理,從而為下次啟動Win2K更好地利用虛擬內存作好准備。這樣做還有利於安全,頁面文件上的殘留的數據是可以用特殊的工具讀到的,而這些數據你可能並不想讓人知道。這樣做的代價是關閉系統時間會加長。 將其值設為1即可。
6)學過C的朋友們應該對操作內存有個概念,一個任務完成後,要用free函數來釋放內存,但有很多軟體在設計的時候,並沒有在所有環節都這樣做,這會造成無用的數據占據內存,對這種情況可以使用一些內存優化軟體,讓這鍾軟體來完成釋放內存的動作。
2,下面介紹和優化一些不著名的緩存:
1)內存讀取硬碟數據要經過一個系統緩存(system cache),它的位置是在內存的特定區域,它是用來緩解硬碟與內存之間的速度不平衡的。它是以犧牲內存資源來換取從硬碟讀取數據時的速度的,有了這塊緩存,系統能從硬碟預讀所需的數據,減少系統等待的時間。如果你的內存很大,比如5,6百M,那麼你除了可以採取上面說的關閉頁面文件的方法外,還可以起用打的系統緩存。做法如下,進入注冊表編輯器: HKEY_LOCAL_MACHINE\System\CurrentControlSet\ControlSession Manager \Memory Management,找到LargeSystemCache(啟用大的系統緩存),將它的值設為1就可以了。
這樣設置了後,systemcache從4M增加到8M,再win2000和winxp中,這個值是動態的,如果內存不足,systemcache占據的空間可以自動相應調整。
2)處理器從內存讀取數據的緩存是什麼呢?是二級數據高級緩存(緩沖),同樣它也要在內存中佔一個空間,所以最好是有了大內存之後再設置這個值。也需再注冊表裡設置,方法如下:進入 HKEY_LOCAL_MACHINE\System\CurrentControlSet\ControlSession Manager \Memory Management ,找到 SecondLevelDataCache,默認為256,大內存設為512。
好了經過了上面的介紹,我想對朋友們來說最重要收獲的是加深了對緩存和操作系統的認識,至於優化的方法,我得承認一般的朋友是用不著去做的,當然「玩」一下也是很有意思的。
Ⅶ 請問系統緩存是什麼東西,位於哪裡
XP:瀏覽器裡面點工具——Internet選項——瀏覽歷史記錄——設置——查看文件
win7:C:\Users\(你的用戶名)\AppData\Local\Microsoft\Windows\Temporary Internet Files
或者 ---- 瀏覽器裡面點工具——Internet選項——瀏覽歷史記錄——設置——查看文件
就是所有的文件在打開之前都要在這里預存,特別是圖像文件,然後應用程序在打開預存的文件。
你能不能給個截圖?我的任務管理器上沒有你說的什麼
Ⅷ 任務管理器中的系統緩存是什麼
系統緩存就是pagefile.sys這個文件就是
這個文件是系統的隱藏文件
有些病毒會裝成這個文件,但是後綴是不一樣的,這個後綴是SYS
而一般病毒文件的後綴是PIF,的圖標文件,或是EXE的執行文件