linux磁盘缓存?ae清除磁盘缓存会怎样
大家好,今天小编来为大家解答linux磁盘缓存这个问题,ae清除磁盘缓存会怎样很多人还不知道,现在让我们一起来看看吧!
Linux操作系统中内存buffer和cache的区别
更详细的解释参考:Difference Between Buffer and Cache
对于共享内存(Shared memory),主要用于在UNIX环境下不同进程之间共享数据,是进程间通信的一种方法,一般的应用程序不会申请使用共享内存,笔者也没有去验证共享内存对上面等式的影响。如果你有兴趣,请参考:What is Shared Memory?
cache和 buffer的区别:
Cache:高速缓存,是位于CPU与主内存间的一种容量较小但速度很高的存储器。由于CPU的速度远高于主内存,CPU直接从内存中存取数据要等待一定时间周期,Cache中保存着CPU刚用过或循环使用的一部分数据,当CPU再次使用该部分数据时可从Cache中直接调用,这样就减少了CPU的等待时间,提高了系统的效率。Cache又分为一级Cache(L1 Cache)和二级Cache(L2 Cache),L1 Cache集成在CPU内部,L2 Cache早期一般是焊在主板上,现在也都集成在CPU内部,常见的容量有256KB或512KB L2 Cache。
Buffer:缓冲区,一个用于存储速度不同步的设备或优先级不同的设备之间传输数据的区域。通过缓冲区,可以使进程之间的相互等待变少,从而使从速度慢的设备读入数据时,速度快的设备的操作进程不发生间断。
Free中的buffer和cache:(它们都是占用内存):
buffer:作为buffer cache的内存,是块设备的读写缓冲区
cache:作为page cache的内存,文件系统的cache
如果 cache的值很大,说明cache住的文件数很多。如果频繁访问到的文件都能被cache住,那么磁盘的读IO bi会非常小。
==============================================================================================
cache是高速缓存,用于CPU和内存之间的缓冲;
buffer是I/O缓存,用于内存和硬盘的缓冲
cache最初用于cpu cache,主要原因是cpu与memory,由于cpu快,memory跟不上,且有些值使用次数多,所以放入
cache中,主要目的是,重复使用,并且一级\二级物理cache速度快,
buffer主要用于disk与 memory,主要是保护硬盘或减少网络传输的次数(内存数据表现dataSet).当然也可以提高速度(不会立即写入硬盘或直接从硬盘中读出的数据马上显示),重复使用,最初最主要的目的是保护disk,
asp.net的cache有outputcahe与数据cache,主要目的是重复使用,提高速度,outputcache主要存储Reader后的页,一般是多次使用同一个HTML,建议不要varybyparam,不要存多version,
数据cache,如dataSet, dataTable,等
@page buffer="true",使用buffer,让buffer满后再显示读出或写入,(c中文件输出也是如此,主要目的是保护硬盘),也可以提高下次的访问速度.在client browse端表现是: true是一次性显示,要么不显示,中间等, false是一次显示一些,
这在网络输出也是如此表现.
对于文件访问c中默认采用的是buffer= true,这与asp.net一样,
相当于Response.write();中当buffer满后输出,以减少网络的传输次数
<%@ OutputCache Duration="60" VaryByParam="none"%>,是将asp.net生成的HTML缓存起来,在指定的时间内不需要重新生成html, control.ascx.也有组件缓存(htmlCach)。 dataSet也是如此。DataCache,
cache和buffer都是缓冲区,在翻译上,cache翻译成高速缓冲区要好一点(因为主要是为下次访问加速), buffer翻译成缓冲区好点。都是缓冲的作用,可目的有点不同,主要是理解,不需要太咬文嚼字.
cache和 buffer的区别
1, Buffer是缓冲区
2, Cache是高速缓存,分library cache; data dictionary cache; database buffer cache
Buffer cache缓冲区高速缓存,用于缓存从硬盘上读取的数据,减少磁盘I/O.
3, buffer有共享SQL区和PL/SQL区,数据库缓冲区高速缓存有独立的subcache
4, pool是共享池用于存储最近执行的语句等
5, cache:
A cache is a smaller, higher-speed component that is used to speed up the
access to commonly used data stored in a lower-speed, higher-capacity
component.
database buffer cache:
The database buffer cache is the portion of the SGA that holds copies of data
blocks
read from data files. All user processes concurrently(同时地,兼任地)connected
to the instance share access to the database buffer cache.
buffer cache就是以block为单位读入写出的。
缓存(cache)是把读取过的数据保存起来,重新读取时若命中(找到需要的数据)就不要去读硬盘了,若没有命中就读硬盘。其中的数据会根据读取频率进行组织,把最频繁读取的内容放在最容易找到的位置,把不再读的内容不断往后排,直至从中删除。
缓冲(buffers)是根据磁盘的读写设计的,把分散的写操作集中进行,减少磁盘碎片和硬盘的反复寻道,从而提高系统性能。linux有一个守护进程定期清空缓冲内容(即写如磁盘),也可以通过sync命令手动清空缓冲。举个例子吧:
我这里有一个ext2的U盘,我往里面cp一个3M的MP3,但U盘的灯没有跳动,过了一会儿(或者手动输入sync)U盘的灯
就跳动起来了。卸载设备时会清空缓冲,所以有些时候卸载一个设备时要等上几秒钟。
修改/etc/sysctl.conf中的vm.swappiness右边的数字可以在下次开机时调节swap使用策
略。该数字范围是0~100,数字越大越倾向于使用swap。默认为60,可以改一下试试。
-----------------------------------------
两者都是RAM中的数据。简单来说,buffer是即将要被写入磁盘的,而cache是被从磁盘中
读出来的。
buffer是由各种进程分配的,被用在如输入队列等方面,一个简单的例子如某个进程要求
有多个字段读入,在所有字段被读入完整之前,进程把先前读入的字段放在buffer中保存
。
cache经常被用在磁盘的I/O请求上,如果有多个进程都要访问某个文件,于是该文件便被
做成cache以方便下次被访问,这样可提供系统性能。
A buffer is something that has yet to be"written" to disk. A cache is
something that has been"read" from the disk and stored for later use.
更详细的解释参考:Difference Between Buffer and Cache
对于共享内存(Shared memory),主要用于在UNIX环境下不同进程之间共享数据,
是进程间通信的一种方法,一般的应用程序不会申请使用共享内存,笔者也没有去验证共
享内存对上面等式的影响。如果你有兴趣,请参考:What is Shared Memory?
cache和 buffer的区别:
Cache:高速缓存,是位于CPU与主内存间的一种容量较小但速度很高的存储器。由于
CPU的速度远高于主内存,CPU直接从内存中存取数据要等待一定时间周期, Cache中保存
着CPU刚用过或循环使用的一部分数据,当CPU再次使用该部分数据时可从Cache中直接调
用,这样就减少了CPU的等待时间,提高了系统的效率。Cache又分为一级Cache(L1 Cache)
和二级Cache(L2 Cache),L1 Cache集成在CPU内部,L2 Cache早期一般是焊在主板上,现
在也都集成在CPU内部,常见的容量有256KB或512KB L2 Cache。
Buffer:缓冲区,一个用于存储速度不同步的设备或优先级不同的设备之间传输数据
的区域。通过缓冲区,可以使进程之间的相互等待变少,从而使从速度慢的设备读入数据
时,速度快的设备的操作进程不发生间断。
Free中的buffer和cache:(它们都是占用内存):
buffer:作为buffer cache的内存,是块设备的读写缓冲区
cache:作为page cache的内存,文件系统的cache
如果 cache的值很大,说明cache住的文件数很多。如果频繁访问到的文件都能被
cache住,那么磁盘的读IO bi会非常小。
===========================================
# sync
# echo 1>/proc/sys/vm/drop_caches
echo 2>/proc/sys/vm/drop_caches
echo 3>/proc/sys/vm/drop_caches
cache释放:
To free pagecache:
echo 1>/proc/sys/vm/drop_caches
To free dentries and inodes:
echo 2>/proc/sys/vm/drop_caches
To free pagecache, dentries and inodes:
echo 3>/proc/sys/vm/drop_caches
说明,释放前最好sync一下,防止丢数据。
因为LINUX的内核机制,一般情况下不需要特意去释放已经使用的cache。这些cache起来的内容可以增加文件以及的读写速度。
linux硬盘缓存大小应该怎么查看
Linux中要查看硬盘缓存大小,可以使用hdparm命令。
1、在终端中执行如下命令。
sudohdparm-I/dev/sdb
2、执行效果如下图所示,其中cache/buffer size行即为缓存大小。
说明:-I:直接读取硬盘所提供的硬件规格信息,/dev/sdb指的电脑中的第二块硬盘。
3、hdparm常用参数及说明如下:
-a<快取分区>:设定读取文件时,预先存入块区的分区数,若不加上<快取分区>选项,则显示目前的设定;
-A<0或1>:启动或关闭读取文件时的快取功能;
-c<I/O模式>:设定IDE32位I/O模式;
-C:检测IDE硬盘的电源管理模式;
-d<0或1>:设定磁盘的DMA模式;
-f:将内存缓冲区的数据写入硬盘,并清楚缓冲区;
-g:显示硬盘的磁轨,磁头,磁区等参数;
-h:显示帮助;
-i:显示硬盘的硬件规格信息,这些信息是在开机时由硬盘本身所提供;
-I:直接读取硬盘所提供的硬件规格信息;
-k<0或1>:重设硬盘时,保留-dmu参数的设定;
-K<0或1>:重设硬盘时,保留-APSWXZ参数的设定;
-m<磁区数>:设定硬盘多重分区存取的分区数;
-n<0或1>:忽略硬盘写入时所发生的错误;
-p<PIO模式>:设定硬盘的PIO模式;
-P<磁区数>:设定硬盘内部快取的分区数;
-q:在执行后续的参数时,不在屏幕上显示任何信息;
-r<0或1>:设定硬盘的读写模式;
-S<时间>:设定硬盘进入省电模式前的等待时间;
-t;评估硬盘的读取效率;
-T:平谷硬盘快取的读取效率;
-u<0或1>:在硬盘存取时,允许其他中断要求同时执行;
-v:显示硬盘的相关设定;
-w<0或1>:设定硬盘的写入快取;
-X<传输模式>:设定硬盘的传输模式;
-y:使IDE硬盘进入省电模式;
-Y:使IDE硬盘进入睡眠模式;
-Z:关闭某些Seagate硬盘的自动省电功能。
linux系统怎么清理磁盘空间
1:清理残余的配置文件
一般而言,当从 Ubuntu系统中删除了一个软件之后,该软件的残余配置文件并没有被删除。如果确信以后不再使用该软件,那么保留其配置文件实在没有必要,所以大可一并删除之。
要删除某个软件的残余配置文件,可以执行下面的操作:
在终端中执行 sudo synaptic,以便启动 Synaptic包管理工具。
点击 Synaptic右下角的 Status按钮进行切换。
现在,应该能够在 Synaptic的左边看到 Not installed(residual config)。选择它即可在右边看到包含有残余配置文件的包,可以在此选择删除该包。
2:清理下载的缓存包
在 Ubuntu中通过 sudo apt-get install安装软件时,其下载的包都缓存在/var/cache/apt/archives/目录中。如果要清理掉这些已下载的缓存包,那么可以执行命令:
sudo apt-get autoclean
sudo apt-get clean
3:清理不再需要的包
在 Ubuntu系统中安装软件时,该软件的依赖通常也会自动安装上。那么,在删除该软件后,其依赖可能需要我们手动删除之。可以运行 sudo apt-get autoremove命令来解决这个问题。
4:清理无用的语言文件
Ubuntu与其他 Linux发行版一样,是一个支持多语言界面的系统。其实,对使用自己母语的我们来说,通常保留中文即可,也可以保留自己所需要使用的语言,如英文。其他的语言文件则没有必要保留。
为了清理这些无用的语言文件,需要在 Ubuntu系统中安装一个名为 localepurge的小工具。
安装 localepurge是十分简单的,只需执行 sudo aptitude install localepurge命令就可以了。在安装的过程中,程序会提示进入如下图所示的画面中进行配置。
localepurge
使用空格键可以选择需要保留的区域配置,其他的则会被删除。当以后在安装程序时,此工具也会自动执行,勿需再次配置。中文用户保留zh、zh_CN、zh_CN.*
5:清理无用的翻译内容
可以使用 trans-purge这组小工具来清理*.desktop、mime-database、gconf schema中的无用翻译内容。
trans-purge这组小工具使用过程如下:
下载源代码:
wget
wget
wget
安装编译依赖:
sudoapt-getinstalllibglib2.0-dev
编译程序:
gcc`pkg-configglib-2.0--cflags--libs`-odesktop-purgedesktop-purge.c
gcc`pkg-configglib-2.0--cflags--libs`-omime-purgemime-purge.c
gcc`pkg-configglib-2.0--cflags--libs`-ogconf-purgegconf-purge.c
安装程序:
sudocpdesktop-purge/usr/bin/
sudocpmime-purge/usr/bin/
sudocpgconf-purge/usr/bin/
执行清理:
手动清理:
sudodesktop-purge
sudomime-purge
sudogconf-purge
自动清理:
让每次 apt-get安装软件后自动进行清理。创建/etc/apt/apt.conf.d/99-transpurge文件,并添加下列内容:
DPkg
{
Post-Invoke{"if[$(psw-p"$PPID"|grep-cremove)!=1];then/usr/bin/desktop-purge>/dev/null;/usr/bin/mime-purge>/dev/null;/usr/bin/gconf-purge>/dev/null;elseexit0;fi";};
};
警告:无用翻译在清除后无法还原