兰色精灵 发表于 2015-1-14 20:21:17

带来一篇CentOS下令buffer和cache 的区分

如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!一.内存利用申明

Free下令相对top供应了更简便的检察体系内存利用情形:

#free
totalusedfreesharedbufferscached
Mem:10351081008984261240124212413000
-/+buffers/cache:471772563336
Swap:20964728423201254152

这里显现的单元是KB。

在linux的内存分派机制中,优先利用物理内存,当物理内存另有余暇时(还够用),不会开释其占用内存,就算占用内存的步伐已被封闭了,该步伐所占用的内存用来做缓存利用,关于开启过的步伐、或是读取刚存取过得数据会对照快。有关Linux内存机制参考:
Linux内存机制
http://blog.csdn.net/tianlesoftware/archive/2010/04/08/5463790.aspx

Mem:暗示物理内存统计。
-/+buffers/cached:暗示物理内存的缓存统计
Swap:暗示硬盘上互换分区的利用情形。只要mem被以后历程实践占用完,即没有了buffers和cache时,才会利用到swap。

Mem行(第一行)数听说明:
Total:1035108KB。暗示物理内存总巨细。
Used:1008984KB。暗示总计分派给缓存(包括buffers与cache)利用的数目,但个中大概局部缓存并未实践利用。
Free:26124KB。暗示未被分派的内存。
Shared:0kb。同享内存,一样平常体系不会用到。
Buffers:124212KB。体系分派但未被利用的buffers数目。
Cached:413000KB。体系分派但未被利用的cache数目。

-/+buffers/cache行(第二行)数听说明:
Used:471772kb,实践利用的buffers与cache总量,也是实践利用的内存总量。
Free:563336kb,未被利用的buffers与cache和未被分派的内存之和,这就是体系以后实践可用内存。

依据以上剖析,能够得出一下结论:
1.实践可用内存巨细:
Free(-/+buffers/cache行)=Free(Mem)+buffers(Mem)+Cached(Mem);
563336=26124+124212+413000

2.已分派的内存巨细:
Used(Mem)=Used(-/+buffers/cache)+buffers(Mem)+Cached(Mem)
1008984kb=471772+124212+413000

3.物理内存总巨细
total(Mem)=used(-/+buffers/cache)+free(-/+buffers/cache)
1035108=471772+563336


二.buffer与cache的区分
Abufferissomethingthathasyettobe"written"todisk.
Acacheissomethingthathasbeen"read"fromthediskandstoredforlateruse.

2.1Cache
Cache:高速缓存,是位于CPU与主内存间的一种容量较小但速率很高的存储器。
因为CPU的速率远高于主内存,CPU间接从内存中存取数据要守候必定工夫周期,Cache中保留着CPU刚用过或轮回利用的一局部数据,当CPU再次利用该局部数据时可从Cache中间接挪用,如许就削减了CPU的守候工夫,进步了体系的效力。
Cache又分为一级Cache(L1Cache)和二级Cache(L2Cache),L1Cache集成在CPU外部,L2Cache初期通常为焊在主板上,如今也都集成在CPU外部,罕见的容量有256KB或512KBL2Cache。


2.2Buffer
Buffer:缓冲区,一个用于存储速率分歧步的装备或优先级分歧的装备之间传输数据的地区。经由过程缓冲区,可使历程之间的互相守候变少,从而使赶快度慢的装备读进数据时,速率快的装备的操纵历程不产生中断。

在Free下令中显现的buffer和cache,它们都是占用内存:
buffer:作为buffercache的内存,是块装备的读写缓冲区,更接近存储装备,大概间接就是disk的缓冲区。
cache:作为pagecache的内存,文件体系的cache,是memory的缓冲区

假如cache的值很年夜,申明cache住的文件数良多。假如频仍会见到的文件都能被cache住,那末磁盘的读IO必会十分小。


收拾自:
http://www.linuxdiyf.com/blog/?90293/action_viewspace_itemid_3004.html
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!

小魔女 发表于 2015-1-16 13:31:25

带来一篇CentOS下令buffer和cache 的区分

其实老师让写心得我也没怎么找资料应付,自己想到什么就写些什么,所以不免有些凌乱;很少提到编程,因为那些在实验报告里已经说了,这里再写就多余了。

谁可相欹 发表于 2015-1-25 16:03:22

学习Linux应具备的。[书籍+网络资源]

只想知道 发表于 2015-2-3 11:58:12

掌握硬件配置,如显卡,声卡,网卡等,硬件只要不是太老或太新一般都能被支持,作为一名Linux系统管理员建议多阅读有关硬件配置文章,对各种不支持或支持不太好的硬件有深刻的了解。

老尸 发表于 2015-2-9 01:19:24

如果你有庞大而复杂的测试条件,尽量把它剪裁得越小越好。可能你会遇到这种情况,对于一个问题会出现不同内容回答,这时你需要通过实践来验证。

愤怒的大鸟 发表于 2015-2-26 17:48:53

一些显而易见的小错误还是用vi改正比较方便。以后的大一点的程序就得在Linux下调试了,因为有的头文件在VC里面说找不到。?

简单生活 发表于 2015-3-8 17:34:39

写学习日记,这是学习历程的见证,同时我坚持认为是增强学习信念的法宝。

冷月葬花魂 发表于 2015-3-16 14:21:27

一些显而易见的小错误还是用vi改正比较方便。以后的大一点的程序就得在Linux下调试了,因为有的头文件在VC里面说找不到。?

透明 发表于 2015-3-22 23:59:09

熟读写基础知识,学得会不如学得牢。
页: [1]
查看完整版本: 带来一篇CentOS下令buffer和cache 的区分