Linux查詢內(nèi)存真實利用率的方法
發(fā)布時間:2014-12-18 17:17:37 作者:佚名
我要評論
使用top工具查看到Suse Linux的內(nèi)存占用率很大,可能97%以上,我知道這是Linux的內(nèi)存使用機制,先將內(nèi)存整個管理起來,需要的時候在分配給單個進程。但是如果我需要查看系統(tǒng)真實的內(nèi)存占用率應(yīng)該怎么做
如下顯示free是顯示的當前內(nèi)存的使用,-m的意思是M字節(jié)來顯示內(nèi)容.我們來一起看看.
$ free -m
total used free shared buffers cached
Mem: 1002 769 232 0 62 421
-/+ buffers/cache: 286 715
Swap: 1153 0 1153
—————————————
真實內(nèi)存占用 = used-buffers-cached = 286
—————————————
第一部分Mem行:
total 內(nèi)存總數(shù): 1002M
used 已經(jīng)使用的內(nèi)存數(shù): 769M
free 空閑的內(nèi)存數(shù): 232M
shared 當前已經(jīng)廢棄不用,總是0
buffers Buffer 緩存內(nèi)存數(shù): 62M
cached Page 緩存內(nèi)存數(shù):421M
關(guān)系:total(1002M) = used(769M) + free(232M)
第二部分(-/+ buffers/cache):
(-buffers/cache) used內(nèi)存數(shù):286M (指的第一部分Mem行中的used – buffers – cached)
(+buffers/cache) free內(nèi)存數(shù): 715M (指的第一部分Mem行中的free + buffers + cached)
可見-buffers/cache反映的是被程序?qū)崒嵲谠诔缘舻膬?nèi)存,而+buffers/cache反映的是可以挪用的內(nèi)存總數(shù)。
第三部分是指交換分區(qū), 我想不講大家都明白.
我想大家看了上面,還是很暈.第一部分(Mem)與第二部分(-/+ buffers/cache)的結(jié)果中有關(guān)used和free為什么這么奇怪.
其實我們可以從二個方面來解釋.
對操作系統(tǒng)來講是Mem的參數(shù).buffers/cached 都是屬于被使用,所以它認為free只有232.
對應(yīng)用程序來講是(-/+ buffers/cach).buffers/cached 是等同可用的,因為buffer/cached是為了提高程序執(zhí)行的性能,當程序使用內(nèi)存時,buffer/cached會很快地被使用。
所以,以應(yīng)用來看看,以(-/+ buffers/cache)的free和used為主.所以我們看這個就好了.另外告訴大家一些常識.Linux為了提高磁盤和內(nèi)存存取效率, Linux做了很多精心的設(shè)計, 除了對dentry進行緩存(用于VFS,加速文件路 徑名到inode的轉(zhuǎn)換), 還采取了兩種主要Cache方式:Buffer Cache和Page Cache。前者針對磁盤塊的讀寫,后者針對文件inode的讀寫。這些Cache能有效縮短了 I/O系統(tǒng)調(diào)用(比如read,write,getdents)的時間。
記住內(nèi)存是拿來用的,不是拿來看的.不象windows, 無論你的真實物理內(nèi)存有多少,他都要拿硬盤交換文件來讀.這也就是windows為什么常常提示虛擬空間不足的原因.你們想想,多無聊,在內(nèi)存還有大部分的時候,拿出一部分硬盤空間來充當內(nèi)存.硬盤怎么會快過內(nèi)存.所以我們看linux,只要不用swap的交換空間,就不用擔心自己的內(nèi)存太少.如果常常 swap用很多,可能你就要考慮加物理內(nèi)存了.這也是linux看內(nèi)存是否夠用的標準哦.
$ free -m
total used free shared buffers cached
Mem: 1002 769 232 0 62 421
-/+ buffers/cache: 286 715
Swap: 1153 0 1153
—————————————
真實內(nèi)存占用 = used-buffers-cached = 286
—————————————
第一部分Mem行:
total 內(nèi)存總數(shù): 1002M
used 已經(jīng)使用的內(nèi)存數(shù): 769M
free 空閑的內(nèi)存數(shù): 232M
shared 當前已經(jīng)廢棄不用,總是0
buffers Buffer 緩存內(nèi)存數(shù): 62M
cached Page 緩存內(nèi)存數(shù):421M
關(guān)系:total(1002M) = used(769M) + free(232M)
第二部分(-/+ buffers/cache):
(-buffers/cache) used內(nèi)存數(shù):286M (指的第一部分Mem行中的used – buffers – cached)
(+buffers/cache) free內(nèi)存數(shù): 715M (指的第一部分Mem行中的free + buffers + cached)
可見-buffers/cache反映的是被程序?qū)崒嵲谠诔缘舻膬?nèi)存,而+buffers/cache反映的是可以挪用的內(nèi)存總數(shù)。
第三部分是指交換分區(qū), 我想不講大家都明白.
我想大家看了上面,還是很暈.第一部分(Mem)與第二部分(-/+ buffers/cache)的結(jié)果中有關(guān)used和free為什么這么奇怪.
其實我們可以從二個方面來解釋.
對操作系統(tǒng)來講是Mem的參數(shù).buffers/cached 都是屬于被使用,所以它認為free只有232.
對應(yīng)用程序來講是(-/+ buffers/cach).buffers/cached 是等同可用的,因為buffer/cached是為了提高程序執(zhí)行的性能,當程序使用內(nèi)存時,buffer/cached會很快地被使用。
所以,以應(yīng)用來看看,以(-/+ buffers/cache)的free和used為主.所以我們看這個就好了.另外告訴大家一些常識.Linux為了提高磁盤和內(nèi)存存取效率, Linux做了很多精心的設(shè)計, 除了對dentry進行緩存(用于VFS,加速文件路 徑名到inode的轉(zhuǎn)換), 還采取了兩種主要Cache方式:Buffer Cache和Page Cache。前者針對磁盤塊的讀寫,后者針對文件inode的讀寫。這些Cache能有效縮短了 I/O系統(tǒng)調(diào)用(比如read,write,getdents)的時間。
記住內(nèi)存是拿來用的,不是拿來看的.不象windows, 無論你的真實物理內(nèi)存有多少,他都要拿硬盤交換文件來讀.這也就是windows為什么常常提示虛擬空間不足的原因.你們想想,多無聊,在內(nèi)存還有大部分的時候,拿出一部分硬盤空間來充當內(nèi)存.硬盤怎么會快過內(nèi)存.所以我們看linux,只要不用swap的交換空間,就不用擔心自己的內(nèi)存太少.如果常常 swap用很多,可能你就要考慮加物理內(nèi)存了.這也是linux看內(nèi)存是否夠用的標準哦.
相關(guān)文章
- 用free -m查看的結(jié)果: # free -m total used free shared buffers cached Mem: 504 471 32 0 19 269 -/+ buffers/cache: 183 321 Swap: 996 0 996 查看/proc/kcore文件的2009-03-10
- 先看看內(nèi)存使用狀況 [root@node1 ~]# free -m total used free shared buffers cached Mem: 8004 6557 1446 0 163 5630 -/+ buffers/cache: 763 7240 Swap: 12008-09-08
- Linux用戶進程是如何釋放內(nèi)存的 Linux進程使用內(nèi)存的基本流程: 從圖中我們可以看出,進程的堆,并不是直接建立在Linux的內(nèi)核的內(nèi)存分配策略上的,而是建立在glibc的堆2009-03-10
- linux下由top命令計算每個用戶使用內(nèi)存的大小,此功能該如何實現(xiàn),本為將詳細介紹2012-11-27
linux free命令參數(shù)及用法詳解(linux查看內(nèi)存命令)
free指令會顯示內(nèi)存的使用情況,包括實體內(nèi)存,虛擬的交換文件內(nèi)存,共享內(nèi)存區(qū)段,以及系統(tǒng)核心使用的緩沖區(qū)等2012-07-21linux free命令詳解和使用實例(查看內(nèi)存使用率)
free命令可以顯示Linux系統(tǒng)中空閑的、已用的物理內(nèi)存及swap內(nèi)存,及被內(nèi)核使用的buffer。在Linux系統(tǒng)監(jiān)控的工具中,free命令是最經(jīng)常使用的命令之一2014-04-09Linux中 如何查看Ubuntu內(nèi)存信息? 查看內(nèi)存信息的命令
在Linux系統(tǒng)中如何查看Ubuntu內(nèi)存信息?這篇文章主要講述了查看Ubuntu內(nèi)存信息的命令,很實用,需要的朋友可以參考下2014-10-23

