系统缓存是什么来的?有何作用?

作者&投稿:壬凤 (若有异议请与网页底部的电邮联系)
分类: 电脑/网络 >> 操作系统/系统故障
解析:

理解缓存

操作系统的任务主要是合理地调配系统的各种资源,为各种程序的运行提供环境,它可以看作是硬件和应用软件之间的一个媒介。其中对内存的管理是系统的最主要的职责,怎么样使有限的内存用在刀刃上,怎么要保证系统本身所需的内存(以防止死机,在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。

好了经过了上面的介绍,我想对朋友们来说最重要收获的是加深了对缓存和操作系统的认识,至于优化的方法,我得承认一般的朋友是用不着去做的,当然“玩”一下也是很有意思的。

~

手机的系统缓存是什么?是怎样形成的?有什么作用?
答:缓存作用:缓存是为了解决CPU速度和内存速度的速度差异问题 。

系统缓存是什么?
答:Windows操作系统使用缓存文件夹来存储临时数据和预读取的文件,以加速对经常访问的数据和应用的访问速度。缓存文件通常包括系统文件、网页浏览数据、应用数据等。2. 常见的缓存文件夹位置 系统缓存:通常位于“C:\Windows\Cache”。这里存储了系统级的缓存文件,这些文件涉及操作系统的基本功能。用户缓存:位于...

什么是统一缓存?统一缓存的概念?详细点的
答:我来回答 缓存是指临时文件交换区,电脑把最常用的文件从存储器里提出来临时放在缓存里,就像把工具和材料搬上工作台一样,这样会比用时现去仓库取更方便。因为缓存往往使用的是RAM(断电即掉的非永久储存),所以在忙完后还是会把文件送到硬盘等存储器里永久存储。电脑里最大的缓存就是内存条了,最...

什么叫缓存,它的作用是什么?
答:缓存是一种临时存储数据的技术,它通过在快速访问的内存中存储数据,来提高计算机系统对数据的访问速度。缓存的作用是减轻主存储器的负担,提高计算机系统的运行效率。缓存可以分为多级缓存,其中一级缓存是最快的,通常由CPU内部的缓存组成,用于存储最常用的数据。二级缓存是由CPU和内存之间的共享缓存,用于...

什么是系统缓存?
答:由此可见,扩大静态ram作为缓存是一个非常愚蠢的行为,但是为了提高系统的性能和速度,我们必须要扩大缓存,这样就有了一个折中的方法,不扩大原来的静态ram缓存,而是增加一些高速动态ram做为缓存,这些高速动态ram速度要比常规动态ram快,但比原来的静态ram缓存慢,我们把原来的静态ram缓存叫一级缓存,而把...

请问电脑里面的"缓存"是什么?怎么清除啊?
答:系统缓存是必须要的,电脑启动后即使你没有运行任何程序也有许多系统基本进程在运行,会需要大量内存,而物理内存数量有限.系统缓存会占用一定的硬盘空间,系统一般默认放在c盘(文件名是pagefile.sys,这是系统隐藏文件一般是看不见的),所以c盘要留出大约2g的硬盘空间,当然你也可以更改系统设置放到其它盘上.所...

软件中的系统缓存指的是什么?
答:系统缓存的意思,就是在当系统处理一些事情的时候会产生一个中转,就是这个中转站储存的空间称之为缓存,当这个空间不够大,就会出现系统缓存不足 等情况。。一般情况下出现这个问题,大部分原因是内存条的容量不够了,加大内存就可以解决。补充一点,缓存是可以清理的,现在的手机也是一样的,关闭后台...

手机里系统缓存是什么?
答:系统缓存是可以清理的,就像是打开网页,会提示加载,那就是缓存。手机党,望采纳 手机的系统缓存是什么,是怎样形成的,有什么作用,如果删除了会怎样,看清楚,是系统缓存。手机运行就会产生缓存文件 临时文件 这个垃圾是必须要清除的 这个是需要定期清理下 要不会影响手机的运行速度 可以给手机下载个...

系统缓存是什么意思
答:什么是缓存?简单来说缓存就是数据交换的缓冲区(称作Cache),当某一硬件要读取数据时, 会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话则从内存中找。由于缓存的运行速度比内存快得多,故缓存的作用就是 帮助硬件更快地运行 问题二:手机里的应用缓存和系统缓存是啥意思 可以清除吗 可以,都是看...

xp系统中任务管理器里的系统缓存是什么?
答:“系统缓存”系统会根据物理内存的大小来决定使用多少比例的系统缓存,物理内存越大,系统缓存越大,成一定正比的。主要来存放程序和数据等。一但系统或者程序需要,部分内存会被释放出来,也就是说这个值是可变的。(但是绝对不会变为0,你会发现当你的内存被某个软件占用的非常吃紧的时候,系统缓存...