linux cached 进程,关于Linux cached内存简析
Background : 系統(tǒng)共16g內(nèi)存,給Elasticsearch只指定了2g內(nèi)存,上面沒裝其他的東西,結(jié)果查看系統(tǒng)內(nèi)存使用率一直是85%以上(13g),用free查看,有相當(dāng)一部分memory被OS cache了
[][root@machine~]# free
total?????? used?????? free???? shared??? buffers???? cached
Mem:????? 16333512?? 16053684???? 279828????????? 0???? 363068??? 2045356
-/+ buffers/cache:?? 136452602688252
Swap:????? 2031612????????? 0??? 2031612
查看到了下面一篇博文,非常好,轉(zhuǎn)一下
======
測試MBS系統(tǒng),AP的weblogic 只是設(shè)置了1.5G內(nèi)存,但是經(jīng)過3次穩(wěn)定性測試,內(nèi)存的利用率達(dá)到99%。
nmon的監(jiān)控揭發(fā)發(fā)現(xiàn)存在5.6G的cached內(nèi)存,下面介紹一下:
Linux與Windows不同,會存在緩存內(nèi)存,通常叫做Cache Memory。有些時候你會發(fā)現(xiàn)沒有什么程序在運行,但是使用top或free命令看到可用內(nèi)存會很少。 ?www.2cto.com
什么是Cache Memory(緩存內(nèi)存):
當(dāng)你讀寫文件的時候,Linux內(nèi)核為了提高讀寫效率與速度,會將文件在內(nèi)存中進行緩存,這部分內(nèi)存就是Cache Memory(緩存內(nèi)存)。即使你的程序運行結(jié)束后,Cache Memory也不會自動釋放。這就會導(dǎo)致你在Linux系統(tǒng)中程序頻繁讀寫文件后,你會發(fā)現(xiàn)可用物理內(nèi)存會很少。
其實這緩存內(nèi)存(Cache Memory)在你需要使用內(nèi)存的時候會自動釋放,所以你不必?fù)?dān)心沒有內(nèi)存可用。如果你希望手動去釋放Cache Memory(緩存內(nèi)存)的話也是有辦法的。
釋放Cache Memory(緩存內(nèi)存):
用下面的命令可以釋放Cache Memory:
[rootmin@localhost~]#echo 3 > /proc/sys/vm/drop_caches
Linux中如何釋放cache內(nèi)存
因為LINUX的內(nèi)核機制,一般情況下不需要特意去釋放已經(jīng)使用的cache。這些cache起來的內(nèi)容可以增加文件以及的讀寫速度。
先說下free命令怎么看內(nèi)存
[rootmin@localhost~]# free
total used free shared buffers cached
Mem: 515588 295452 220136 0 2060 64040
-/+ buffers/cache: 229352 286236
Swap: 682720 112 682608
其中第一行用全局角度描述系統(tǒng)使用的內(nèi)存狀況:
total——總物理內(nèi)存 ?www.2cto.com
used——已使用內(nèi)存,一般情況這個值會比較大,因為這個值包括了cache+應(yīng)用程序使用的內(nèi)存
free——完全未被使用的內(nèi)存
shared——應(yīng)用程序共享內(nèi)存
buffers——緩存,主要用于目錄方面,inode值等(ls大目錄可看到這個值增加)
cached——緩存,用于已打開的文件
注意:
total=used+free
used=buffers+cached (maybe add shared also)
第二行描述應(yīng)用程序的內(nèi)存使用:
前個值表示-buffers/cache——應(yīng)用程序使用的內(nèi)存大小,used減去緩存值
后個值表示+buffers/cache——所有可供應(yīng)用程序使用的內(nèi)存大小,free加上緩存值
注意
-buffers/cache=used-buffers-cached
+buffers/cache=free+buffers+cached
第三行表示swap的使用: ?www.2cto.com
used——已使用
free——未使用
cache釋放:
1. ? To free pagecache:
[rootmin@localhost~]#echo 1 > /proc/sys/vm/drop_caches
2. ? To free dentries and inodes:
[rootmin@localhost~]#echo 2 > /proc/sys/vm/drop_caches
3. ? To free pagecache, dentries and inodes:
[rootmin@localhost~]#echo 3 > /proc/sys/vm/drop_caches
說明,釋放前最好sync一下,防止丟數(shù)據(jù)
source :
http://vb118.blog.163.com/blog/static/17393310020117121739221/
總結(jié)
以上是生活随笔為你收集整理的linux cached 进程,关于Linux cached内存简析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ext3分区修复linux,linux
- 下一篇: linux 其他常用命令