怎样清理内存

怎样清理内存,第1张

一、怎么删除手机内存

格机 双清就OK 就和刚买时候一样 第二步也可以省略指恢复出厂:

关闭手机,右手拿着手机,用你的右手拇指按住home键(屏幕下方的那个实体按键),左手的中指按住电源键不放,等待出现SAMSUNG时放开手,就会看到有几排蓝色的英文选项,

用音量键选择到wipe data/factory reset (这个就是恢复出厂设置)

按home键确认,接着转到另一个屏幕,

有no(有很多个no选项,不管)和yes -- delete all user(只有一个yes -- delete all user选项,就是这个)英文选项,

用音量键选择yes -- delete all user,按home确认

第二步按home确认后,屏幕会转到原来第一步 *** 作时看到的选项,用音量键选择到 wipe cache partition ( 这个是清除缓存的意思 ),之后你又会转到原来第一步 *** 作时看到的选项

用音量键选择到第一选 reboot system now (就是重启系统的意思),这时候手机就会自动重启。

做完这四步就OK

二、电脑内存占用过大如何清理

1打开系统的任务管理器,点击上方的性能,查看当前内存使用情况。从这里可以看出来,我的内存可能空间不多。所以当我继续再打开另外一些程序的话,可用内存会越小,然后系统的反应也会越来越慢。

2切换到任务管理器的进程选项卡,然后再点击内存,让系统按占用内存的大小来排序。这样我们就可以很直观地看到,是那些程序占用了系统大量的内存,从而导致我们系统运行速度变慢。

3如下图所示,进程管理中显示Firefox这个应用程序所占用的内存很大。如现在没有使用Firefox来浏览网页,就可以把这个应用程序关闭掉,或者直接从任务管理中把这个进程结束掉,从而释放更多的内存空间出来。

4、回到任务管理器中的性能中查看当前可用内存,就会发现系统的可用内存比原来要多了。

这个方法适用于我们在电脑上的安装的软件太多,并且有很多开机运行程序的情况,比如随系统启动的一些播放器,聊天软件等。通过任务管理器,可以了解我们当前所使用内存的详细信息,还可以帮助我们找到那些软件占用内存空间大,从而根据我们自己的需要来判断要不要把这些软件结束掉或者彻底从系统中删除掉。通过对软件的清理,关闭掉那些我们并没有经常使用,但是却占用系统内存的软件,从而达到释放更多的内存空间来。

扩展资料:

物理内存,CPU的地址线可以直接进行寻址的内存空间大小。比如8086只有20根地址线,那它的寻址空间就是1MB。我们就说8086能支持1MB的物理内存。即使我们安装了128M的内存条在板子上,我们也只能说8086拥有1MB的物理内存空间。同理32位的386以上CPU,就可以支持最大4GB的物理内存空间了。

虚拟内存与物理内存的区别:虚拟内存就与物理内存相反,是指根据系统需要从硬盘虚拟地匀出来的内存空间,是一种计算机系统内存管理技术,属于计算机程序,而物理内存为硬件。因为有时候当你处理大的程序时候系统内存不够用,此时就会把硬盘当内存来使用,来交换数据做缓存区,不过物理内存的处理速度是虚拟内存的30倍以上。

参考资料:

物理内存-百度百科

三、如何清理内存

从九大方面窥视磁盘碎片----内存整理 ================================================= 一、什么是磁盘碎片? 其实磁盘碎片应该称为文件碎片,是因为文件被分散保存到整个磁盘的不同地方,而不是连续地保存在磁盘连续的簇中形成的。

[Blocked Ads] 当应用程序所需的物理内存不足时,一般 *** 作系统会在硬盘中产生临时交换文件,用该文件所占用的硬盘空间虚拟成内存。虚拟内存管理程序会对硬盘频繁读写,产生大量的碎片,这是产生硬盘碎片的主要原因。

其他如IE浏览器浏览信息时生成的临时文件或临时文件目录的设置也会造成系统中形成大量的碎片。文件碎片一般不会在系统中引起问题,但文件碎片过多会使系统在读文件的时候来回寻找,引起系统性能下降,严重的还要缩短硬盘寿命。

另外,过多的磁盘碎片还有可能导致存储文件的丢失。 ================================================= 二、磁盘碎片是怎么产生的? 在磁盘分区中,文件会被分散保存到磁盘的不同地方,而不是连续地保存在磁盘连续的簇中。

又因为在文件 *** 作过程中,Windows系统可能会调用虚拟内存来同步管理程序,这样就会导致各个程序对硬盘频繁读写,从而产生磁盘碎片。 ================================================= 三、磁盘读写 *** 作的原理 知道了磁盘碎片的产生原因之后,我们还有必要了解一下程序运行时磁盘的读写动作。

一般运行一个程序时,磁盘驱动器的磁头所做的工作是先搜索该程序运行必需的文件,然后读取数据,最后做读后处理——将数据传送至磁盘高速缓存(Cache)和内存中。搜索时间在硬盘性能指标中被称为平均寻道时间(Average seek time),单位为毫秒(ms),目前主流硬盘的平均寻道时间小于95ms。

如果能将应用程序的相关文件放在磁盘的连续空间内,磁头搜索的时间将会减少很多。读取时也是如此,磁盘读取位于磁头下方扇区的数据所需时间仅为将磁头移到另一地点再读取相同数据所需时间的五分之一。

读盘时,系统先检查数据是否在高速缓存中,如果有则直接读取;如果没有则访问磁盘,也就是读盘。当需要多次读取同一份数据时,Cache的作用很大,但对于第一次读取某个文件,Cache就无能为力了。

于是搜索时间和读取时间在很大程度上影响着程序执行的效率。 为何要整理磁盘 Windows系统并不能自动将每个文件按照最大程度减少磁头搜索时间的原则放到磁盘上最合适的位置。

于是Microsoft在Windows中加入了“Disk Defragment”(磁盘碎片整理程序),并提供了“TaskMonitor”(任务监视器)来跟踪程序启动过程中的磁盘活动,以利于“Disk Defragment”能够更有效地工作。“TaskMonitor”是随Windows启动而自动运行的(当然要在“启动”中选中“TaskMonitor”)。

当加载某个应用程序时,它通过监视磁盘的访问动作来了解该程序启动时搜索和调用的文件,对所需文件进行定位,并将监视结果储存在“C:\Windows\Applog”隐藏目录中。这个目录中的大多数文件以“lgx”为扩展名,其中“lg”代表记录文件(Log File),“x”表示盘符,如D盘程序就以“lgd”为扩展名;记录文件的文件名为TaskMonitor所监视的应用程序的文件名,如E盘上的WinZip程序记为“Winzip32lge”。

用户进行磁盘碎片整理时,该程序会根据Applog目录中的信息把应用程序的相关文件移动到磁盘上的连续空间内。 TaskMonitor仅在程序加载过程中对文件信息进行搜索,并且根据程序的加载频率调整优化的顺序,也就是说使用次数最多的软件可获得最多的关照。

Applog目录中的APPLOGind文件就记录了应用程序运行的次数。用户需要将常用软件多次启动,接受TaskMonitor的监视和记录,再使用Disk Defragment进行整理,才能真正实现程序启动速度的提高。

但如果用户中途改变了常用软件,比如以前常用WinZip,现在改用ZipMagic,那么在相当长的时间内Disk Defragment还是先把与WinZip相关的文件移到连续的空间内,而不是ZipMagic,除非ZipMagic的加载次数超过WinZip。要解决这个问题,用户可将“Winzip32lgx”文件删除,记录文件不存在了,Disk Defragment也就不会去优化它了。

================================================= 四、该不该定期整理硬盘? 实际上,定期整理硬盘应该是毫无疑问的。如果说硬盘碎片整理真的会损害硬盘的话,那也将是在对硬盘进行近乎天文数字般次数的整理之后。

硬盘使用的时间长了,文件的存放位置就会变得支离破碎——文件内容将会散布在硬盘的不同位置上。这些“碎片文件”的存在会降低硬盘的工作效率,还会增加数据丢失和数据损坏的可能性。

碎片整理程序把这些碎片收集在一起,并把它们作为一个连续的整体存放在硬盘上。Windows自带有这样的程序:磁盘碎片整理程序(DiskDefragmenter),但在工具软件NortonUtilities和Nuts&Bolts中有更好的此类程序。

然而,碎片整理对硬盘里的运转部件来说的确是一项不小的工作。如果硬盘已经到了它生命的最后阶段,碎片整理的确有可能是一种自杀行为。

但在这种情况下,即使。

四、如何清理系统内存垃圾

C盘空间不足的解决方法 从现在开始下载软件或文件,不要放在C盘,按照下面方法做能腾出不少空间。

1、将虚拟内存移到非系统盘中。 2、将IE临时文件转移到非系统盘中,打开IE选工具/Interner选项/Interner临时文件中的设置/选好移动后的路径后按确定应用,重启即可。

3、如果空间不够在将一些软件移到非系统盘中,如果够了,今后就不要在把软件或文件下载到C盘了,在平时用超级兔子及时清理系统垃圾即可(选择清理系统垃圾,一分钟就清理完毕即彻底又安全)。 下载地址: 4、C盘中,只要是自己下载的软件或文件都可以删除(如果系统不让删除,请开机按F8到安全模式中删除)。

设置虚拟内存方法:右击我的电脑/属性/高级/性能中的设置/高级/虚拟内存中的更改/选自定义大小,在初始大小和最大值,同时设为你的物理内存的两倍。如果你的内存是512MB,就将初始大小和最大值同时设为设为1024MB。

设置后需按“设置”按钮,然后再按确定和应用,重新启动电脑设置生效(设置虚拟内存大小没有一个固定的数,大小可以调节。 比如:你的物理内存小,虚拟内存可以设的大些“三倍”,物理内存大1G,虚拟内存可以设小点“一倍”,或者还可以不设置虚拟内存,因为如果你设置的虚拟内存小了,系统就会提醒你,设置大了浪费系统资源)。

设置虚拟内存,存储在非系统盘方法: 右击我的电脑/属性/高级/性能中的设置/高级/虚拟内存中的更改/注意:先选中驱动器[卷标]中的C:后点选“无分页文件”在按“设置”按钮,这时已经取消了C盘的虚拟内存。 然后你在点选自定义大小,将驱动器[卷标]设在其它盘,并且输入虚拟内存数,然后按“设置”按钮,再按确定应用,重新启动电脑设置生效。

如果你想使C盘空间变小点的话可以删除以下文件夹中的内容: c:\Documents and Settings\用户名\Cookies\下的所有文件(保留index文件) c:\Documents and Settings\用户名\Local Settings\Temp\下的所有文件(用户临时文件) c:\Documents and Settings\用户名\LocalSettings\TemporaryInter Files\下的所有文件(页面文件) c:\Documents and Settings\用户名\Local Settings\History\下的所有文件(历史纪录) c:\Documents and Settings\用户名\Recent\下的所有文件(最近浏览文件的快捷方式) c:\WINDOWS\Temp\下的所有文件(临时文件) c:\WINDOWS\ServicePackFiles(升级sp1或sp2后的备份文件) c:\WINDOWS\Driver Cache\i386下的压缩文件(驱动程序的备份文件) c:\WINDOWS\SoftwareDistribution\download下的所有文件 如果对系统进行过windoes updade升级,则删除以下文件: c:\windows\下以 $NtU。 。

。 开头的隐藏文件。

如果你有开启系统还原功能的话,可以把还原点给删了,你可以先自己创建一个还原点,再通过开始-所有程序-附件、系统工具-磁盘清理-其它选项-系统还原,他会删掉除最后一个你自己创建的还原点以外的所有还原点。 将系统盘的程序软件移到非系统盘的方法,用下面的方法进行备份到非系统盘中,然后在启动的图标上点右键,选属性,点快捷方式标签,把起始位置和目标两个框里的C:\Program Files替换为相应的盘符路径就行了(经过使用软件无误后,在到C盘将原来的软件删除,如果删除不了,到安全模式中删除即可)。

用系统自带的“备份或还原向导”功能备份数据。 1、开始/所有程序/附件/系统工具/备份/将d出“备份或还原向导”对话框,单击下一步。

2、在d出的对话框选中“备份文件和设置”,然后单击“下一步”d出“要备份的内容”的对话框。 3、在打开的对话框中,用户可以选择要备份的内容,如果要备份的内容没有列出可选择“让我选择要备份的内容”的单选按钮,然后单击“下一步”,将d出“要备份的项目”对话框。

4、在对话框中,单击文件名称左面的复选框,选中要备份的文件,单击“下一步”将d出“备份类型、目标和名称”对话框。 5、在打开的对话框中,用户可以选择备份文件类型、命名备份文件,单击“浏览”按钮用户还可以指定备份文件存在什么地方。

完成后单击“下一步”,将d出“正在完成备份和还原向导”对话框,单击“完成”按钮,系统开始数据备份。 6、数据备份时系统将显示备份进度,备份完成后将显示“已完成备份”对话框。

单击“完成”按钮,数据备份即告完成。 还原系统备份的数据,打开“备份或还原向导”界面。

1、选中“还原文件和设置”,单击“下一步”,d出“还原项目”对话框。 2、双击“要还原的项目”列表中需要还原的备份项目,再在右边窗格中选择要还原的位置,单击“下一步”,d出“正在完成备份或还原向导”单击“完成”,开始还原文件。

建议下载超级兔子清理各种上网产生的垃圾,在这个网址下载就行了,这个软件很好用,我用它一周左右清理一次(随个人),选清理系统垃圾,全选,二分钟就清理完毕。 或者可以制作一个简易的垃圾文件处理器,这是制作方法。

1。 开始——程序——附件——记事本2。

把“下面的文字”复制进去3。 另存为——桌面——保存类型——所有文件——文件名——清除系统 t(只要后缀是。

bat就。

五、手机内存不足怎么清理

手机长时间使用以后就会出现手机内存空间不足的情况,这个时候就要对手机进行清理释放内存。那应该怎样清理手机的内存空间呢?下面冰冰就在下面的经验里面和大家分享一下。

清理运行程序及sd卡

如果SD卡的内存空间不足,就要清理一下存储再SD卡里面不常用的程序包,或者及视频音乐等,必要的情况下就要更换容量大一点的SD卡了

把手机上面的隐藏页面拉下来,会看到一键清理,点击一键清理可以把当前运行的所有程序全部关闭这样可以释放出一部分程序占用的内存空间

系统优化清理

点击程序管理,进入到系统优化页面,在系统优化页面可以点击一键清理直接清理内存

也可以点击正在运行,将正在运行的程序中不用的程序关闭释放出一部分空间

3

也可以点击缓存文件,进入到缓存文件页面,点击右上角的全部清理不所有程序的缓存文件清理掉,或者直接在想要清理的程序后面点击清理,单个的清理缓存文件

清理使用应用程序产生的数据

点击手机的设置按钮进入到设置页面

进入到设置页面以后点击通用

进入到通用页面以后点击应用程序

进入到应用程序页面以后点击已安装

进入到已安装页面,看到所有的安装的程序,点击要清理的程序

点击要清理的程序以后看到程序信息,点击清楚数据和清楚缓存手机内存就清理好了

什么是虚拟内存?

Linux支持虚拟内存(virtual memory),虚拟内存是指使用磁盘当作RAM的扩展,这样可用的内存的大小就相应地增大了。内核会将暂时不用的内存块的内容写到硬盘上,这样一来,这块内存就可用于其它目的。当需要用到原始的内容时,它们被重新读入内存。这些 *** 作对用户来说是完全透明的;Linux下运行的程序只是看到有大量的内存可供使用而并没有注意到时不时它们的一部分是驻留在硬盘上的。当然,读写硬盘要比直接使用真实内存慢得多(要慢数千倍),所以程序就不会象一直在内存中运行的那样快。用作虚拟内存的硬盘部分被称为交换空间(swap space)。

Linux能够使用文件系统中的一个常规文件或一个独立的分区作为交换空间。交换分区要快一些,但是很容易改变交换文件的大小(也就无需重分区整个硬盘,并且可以从临时分区中安装任何东西)。当你知道你需要多大的交换空间时,你应该使用交换分区,但是如果你不能确定的话,你可以首先使用一个交换文件,然后使用一阵子系统,你就可以感觉到要有多大的交换空间,此时,当你能够确信它的大小时就创建一个交换分区。

你应该知道,Linux允许同时使用几个交换分区以及/或者交换文件。这意味着如果你只是偶尔地另外需要一个交换空间时,你可以在当时设置一个额外的交换文件,而不是一直分配这个交换空间。

*** 作系统术语注释:计算机科学常常将交换[swapping](将整个进程写到交换空间)与页面调度[paging](在某个时刻,仅仅固定大小的几千字节写到交换空间内)加以区别。页面调度通常更有效,这也是Linux的做法,但是传统的Linux术语却指的是交换。

创建交换空间

一个交换文件是一个普通的文件;对内核来说一点也不特殊。对内核有关系的是它不能有孔,并且它是用mkswap来准备的。而且,它必须驻留在一个本地硬盘上,它不能由于实现的原因而驻留在一个通过NFS加载的文件系统中。

关于孔是重要的。交换文件保留了磁盘空间,以至于内核能够快速地交换出页面而无需做分配磁盘扇区给文件时所要做的一些事。内核仅仅是使用早已分配给交换文件的任何扇区而已。因为文件中的一个孔意味着没有磁盘扇区分配(给该文件的孔的相应部分),对内核来说就不能使用这类有孔的文件。

创建无孔的交换文件的一个好方法是通过下列命令:

$ dd if=/dev/zero of=/extra-swap bs=1024 count=1024 \

上面/extra-swap是交换文件的名字,大小由count=后面的数值给出。大小最好是4的倍数,因为内核写出的内存页面(memory pages)大小是4千字节。如果大小不是4的倍数,最后几千字节就用不上了。

一个交换分区也并没有什么特别的。你可以象创建其它分区一样地创建它;唯一的区别在于它是作为一个原始的分区使用的,也即,它不包括任何的文件系统。将交换分区标记为类型82(Linux交换分区)是个好主意;这将使得分区的列表更清楚,尽管对内核来说并不是一定要这样的。

在创建了一个交换文件或一个交换分区以后,你必须在它的开头部分写上一个签名;这个签名中包括了一些由内核使用的管理信息。这是用\cmd{mkswap}命令来做到的,用法如下:

$ mkswap /extra-swap 1024

Setting up swapspace, size = 1044480 bytes

请注意此时交换空间还没有被使用:它已存在,但内核还没有用它作为虚拟内存。你必须非常小心地使用mkswap,因为它不检查这个文件或分区是否已被别人使用。你可以非常容易地使用mkswap来覆盖重要的文件以及分区!幸运的是,仅仅在安装系统时,你才需要使用mkswap。

Linux内存管理程序限制每个交换空间最大约为127MB(由于各种技术上的原因,实际的限制大小为(4096-10) 8 4096 = 133890048$ 字节,或1276875兆字节)。然而,你可以同时使用多至16个交换空间,总容量几乎达2GB。

交换空间的使用

一个已初始化的交换空间是使用命令swapon投入正式使用的。该命令告诉内核这个交换空间可以被使用了。到交换空间的路径是作为参数给出的,所以,开始在一个临时交换文件上使用交换的命令如下:

$ swapon /extra-swap

通过把交换空间列入/etc/fstab文件中就能被自动地使用了。

/dev/hda8 none swap sw 0 0

/swapfile none swap sw 0 0

启动描述文件会执行命令swapon –a,这个命令会启动列于/etc/fstab中的所有交换空间。因此,swapon命令通常仅用于需要有外加的交换空间时。

你可以用free命令监视交换空间的使用情况。它将给出已使用了多少的交换空间。

total used free shared buffers

Swap: 32452 6684 25768

输出的第一行(Mem:)显示出物理内存的使用情况。总和(total)列中并没有显示出被内核使用的内存,它通常将近一兆字节。已用列(used column)显示出已用内存的总和(第二行没有把缓冲算进来)。空闲列(free column)显示了所有未被使用的空闲内存。共享列(shared column)显示出了被几个进程共享的内存的大小;共享的内存越多,情况就越好。缓存列(buffer column)显示出了当前磁盘缓存的大小。已缓冲列(cached column)显示出了已使用的缓存的大小。

最后一行(Swap:)显示出了与交换空间相应的信息。如果这一行的数值都是零,表示你的交换空间没有被击活。

也可通过用top命令来获得同样的信息,或者使用proc文件系统中的文件/proc/meminfo 。通常要取得指定交换空间的使用情况是困难的。

可以使用命令swapoff来移去一个交换空间。通常没有必要这样做,但临时交换空间除外。一般,在交换空间中的页面首先被换入内存;如果此时没有足够的物理内存来容纳它们又将被交换出来(到其他的交换空间中)。如果没有足够的虚拟内存来容纳所有这些页面,Linux就会波动而不正常;但经过一段较长的时间Linux会恢复,但此时系统已不可用了。在移去一个交换空间之前,你应该检查(例如,用free)是否有足够的空闲内存。

任何由swapon –a而自动被使用的所有交换空间都能够用swapoff –a命令移去;该命令参考/etc/fstab文件来确定移去什么。任何手工设置使用的交换空间将始终可以被使用。

有时,尽管有许多的空闲内存,仍然会有许多的交换空间正被使用。这是有可能发生的,例如如果在某一时刻有进行交换的必要,但后来一个占用很多物理内存的大进程结束并释放内存时。被交换出的数据并不会自动地交换进内存,除非有这个需要时。此时物理内存会在一段时间内保持空闲状态。对此并没有什么可担心的,但是知道了是怎么一回事我们也就放心了。

许多 *** 作系统使用了虚拟内存的方法。因为它们仅在运行时才需要交换空间,以即决不会在同一时间使用交换空间,因此,除了当前正在运行的 *** 作系统的交换空间,其它的就是一种浪费。所以让它们共享一个交换空间将会更有效率。这是可能的,但需要有一定的了解。在HOWTO技巧文档中含有如何实现这种做法的一些建议。

有些人会对你说需要用物理内存的两倍容量来分配交换空间,但这是不对的。下面是合适的做法:

。估计你的总内存需求。这是某一时刻你所需要的最大的内存容量,也就是在同一时刻你想运行的所有程序所需内存的总和。通过同时运行所有的程序你可以做到这一点。

例如,如果你要运行X,你将给它分配大约8MB内存,gcc需要几兆字节(有些文件要求异呼寻常的大量的内存量,多至几十兆字节,但通常约4兆字节应该够了),等等。内核本身要用大约1兆字节、普通的shell以及其它一些工具可能需要几百千字节(就说总和要1兆字节吧)。并不需要进行精确的计算,粗率的估计也就足够了,但你必须考虑到最坏的情况。

注意,如果会有几个人同时使用这个系统,他们都将消耗内存。然而,如果两个人同时运行一个程序,内存消耗的总量并不是翻倍,因为代码页以及共享的库只存在一份。

Free以及ps命令对估计所需的内存容量是很有帮助的。

对第一步中的估计放宽一些。这是因为对程序在内存中占用多少的估计通常是不准的,因为你很可能忘掉几个你要运行的程序,以及,确信你还要有一些多余的空间用于以防万一。这需几兆字节就够了。(多分配总比少分配交换空间要好,但并不需要过分这样以至于使用整个硬盘,因为不用的交换空间是浪费的空间;参见后面的有关增加交换空间。)同样,因为处理数值更好做,你可以将容量值加大到整数兆字节。

基于上面的计算,你就知道了你将需要总和为多少的内存。所以,为了分配交换空间,你仅需从所需总内存量中减去实际物理内存的容量,你就知道了你需要多少的交换空间。(在某些UNIX版本中,你还需要为物理内存的映像分配空间,所以第二步中算出的总量正是你所需要的交换空间的容量,而无需再做上述中的减法运算了。)

如果你计算出的交换空间容量远远大于你的物理内存(大于两倍以上),你通常需要再买些内存来,否则的话,系统的性能将非常低。

有几个交换空间是个好主意,即使计算指出你一个都不需要。Linux系统常常动不动就使用交换空间,以保持尽可能多的空闲物理内存。即使并没有什么事情需要内存,Linux也会交换出暂时不用的内存页面。这可以避免等待交换所需的时间:当磁盘闲着,就可以提前做好交换。

可以将交换空间分散在几个硬盘之上。针对相关磁盘的速度以及对磁盘的访问模式,这样做可以提高性能。你可能想实验几个方案,但是你要认识到这些实验常常是非常困难的。不要相信其中一个方案比另一个好的说法,因为并不总是这样的。

高速缓冲

与访问(真正的)的内存相比,磁盘[3]的读写是很慢的。另外,在相应较短的时间内多次读磁盘同样的部分也是常有的事。例如,某人也许首先阅读了一段e-mail消息,然后为了答复又将这段消息读入编辑器中,然后又在将这个消息拷贝到文件夹中时,使得邮件程序又一次读入它。或者考虑一下在一个有着许多用户的系统中ls命令会被使用多少次。通过将信息从磁盘上仅读入一次并将其存于内存中,除了第一次读以外,可以加快所有其它读的速度。这叫作磁盘缓冲(disk buffering),被用作此目的的内存称为高速缓冲(buffer cache)。

不幸的是,由于内存是一种有限而又不充足的资源,高速缓冲不可能做的很大(它不可能包容要用到的所有数据)。当缓冲充满了数据时,其中最长时间不用的数据将被舍弃以腾出内存空间用于新的数据。

对写磁盘 *** 作来说磁盘缓冲技术同样有效。一方面,被写入磁盘的数据常常会很快地又被读出(例如,原代码文件被保存到一个文件中,又被编译器读入),所以将要被写的数据放入缓冲中是个好主意。另一方面,通过将数据放入缓冲中,而不是将其立刻写入磁盘,程序可以加快运行的速度。以后,写的 *** 作可以在后台完成,而不会拖延程序的执行。

大多数 *** 作系统都有高速缓冲(尽管可能称呼不同),但是并不是都遵守上面的原理。有些是直接写(write-through):数据将被立刻写入磁盘(当然,数据也被放入缓存中)。如果写 *** 作是在以后做的,那么该缓存被称为后台写(write-back)。后台写比直接写更有效,但也容易出错:如果机器崩溃,或者突然掉电,或者是软盘在缓冲中等待写的数据被写入软盘之前被从驱动器中取走,缓冲中改变过的数据就被丢失了。如果仍未被写入的数据含有重要的薄记信息,这甚至可能意味着文件系统(如果有的话)已不完整。

由于上述原因,在使用适当的关闭过程之前,绝对不要关掉电源(见第六章),不要在卸载(如果已被加载)之前将软盘从驱动器中取出来,也不要在任何正在使用软盘的程序指示出完成了软盘 *** 作并且软盘灯熄灭之前将软盘取出来。sync命令倾空(flushes)缓冲,也即,强迫所有未被写的数据写入磁盘,可用以确定所有的写 *** 作都已完成。在传统的UNIX系统中,有一个叫做update的程序运行于后台,每隔30秒做一次sync *** 作,因此通常无需手工使用sync命令了。Linux另外有一个后台程序,bdflush,这个程序执行更频繁的但不是全面的同步 *** 作,以避免有时sync的大量磁盘I/O *** 作所带来的磁盘的突然冻结。

在Linux中,bdflush是由update启动的。通常没有理由来担心此事,但如果由于某些原因bdflush进程死掉了,内核会对此作出警告,此时你就要手工地启动它了(/sbin/update)。

缓存(cache)实际并不是缓冲文件的,而是缓冲块的,块是磁盘I/O *** 作的最小单元(在Linux中,它们通常是1KB)。这样,目录、超级块、其它文件系统的薄记数据以及非文件系统的磁盘数据都可以被缓冲了。

缓冲的效力主要是由它的大小决定的。缓冲大小太小的话等于没用:它只能容纳一点数据,因此在被重用时,所有缓冲的数据都将被倾空。实际的大小依赖于数据读写的频次、相同数据被访问的频率。只有用实验的方法才能知道。

如果缓存有固定的大小,那么缓存太大了也不好,因为这会使得空闲的内存太小而导致进行交换 *** 作(这同样是慢的)。为了最有效地使用实际内存,Linux自动地使用所有空闲的内存作为高速缓冲,当程序需要更多的内存时,它也会自动地减小缓冲的大小。

在Linux中,你不需要为使用缓冲做任何事情,它是完全自动处理的。除了上面所提到的有关按照适当的步骤来关机和取出软盘,你不用担心它。

以上就是关于怎样清理内存全部的内容,包括:怎样清理内存、linux内存管理的特点、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9469836.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存