Linux查詢內(nèi)存真實(shí)利用率的方法
發(fā)布時(shí)間:2014-12-18 17:17:37 作者:佚名
我要評(píng)論

使用top工具查看到Suse Linux的內(nèi)存占用率很大,可能97%以上,我知道這是Linux的內(nèi)存使用機(jī)制,先將內(nèi)存整個(gè)管理起來,需要的時(shí)候在分配給單個(gè)進(jìn)程。但是如果我需要查看系統(tǒng)真實(shí)的內(nèi)存占用率應(yīng)該怎么做
如下顯示free是顯示的當(dāng)前內(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
—————————————
真實(shí)內(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 當(dāng)前已經(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ū)崒?shí)在在吃掉的內(nèi)存,而+buffers/cache反映的是可以挪用的內(nèi)存總數(shù)。
第三部分是指交換分區(qū), 我想不講大家都明白.
我想大家看了上面,還是很暈.第一部分(Mem)與第二部分(-/+ buffers/cache)的結(jié)果中有關(guān)used和free為什么這么奇怪.
其實(shí)我們可以從二個(gè)方面來解釋.
對(duì)操作系統(tǒng)來講是Mem的參數(shù).buffers/cached 都是屬于被使用,所以它認(rèn)為free只有232.
對(duì)應(yīng)用程序來講是(-/+ buffers/cach).buffers/cached 是等同可用的,因?yàn)閎uffer/cached是為了提高程序執(zhí)行的性能,當(dāng)程序使用內(nèi)存時(shí),buffer/cached會(huì)很快地被使用。
所以,以應(yīng)用來看看,以(-/+ buffers/cache)的free和used為主.所以我們看這個(gè)就好了.另外告訴大家一些常識(shí).Linux為了提高磁盤和內(nèi)存存取效率, Linux做了很多精心的設(shè)計(jì), 除了對(duì)dentry進(jìn)行緩存(用于VFS,加速文件路 徑名到inode的轉(zhuǎn)換), 還采取了兩種主要Cache方式:Buffer Cache和Page Cache。前者針對(duì)磁盤塊的讀寫,后者針對(duì)文件inode的讀寫。這些Cache能有效縮短了 I/O系統(tǒng)調(diào)用(比如read,write,getdents)的時(shí)間。
記住內(nèi)存是拿來用的,不是拿來看的.不象windows, 無論你的真實(shí)物理內(nèi)存有多少,他都要拿硬盤交換文件來讀.這也就是windows為什么常常提示虛擬空間不足的原因.你們想想,多無聊,在內(nèi)存還有大部分的時(shí)候,拿出一部分硬盤空間來充當(dāng)內(nèi)存.硬盤怎么會(huì)快過內(nèi)存.所以我們看linux,只要不用swap的交換空間,就不用擔(dān)心自己的內(nèi)存太少.如果常常 swap用很多,可能你就要考慮加物理內(nèi)存了.這也是linux看內(nèi)存是否夠用的標(biāo)準(zhǔn)哦.
$ free -m
total used free shared buffers cached
Mem: 1002 769 232 0 62 421
-/+ buffers/cache: 286 715
Swap: 1153 0 1153
—————————————
真實(shí)內(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 當(dāng)前已經(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ū)崒?shí)在在吃掉的內(nèi)存,而+buffers/cache反映的是可以挪用的內(nèi)存總數(shù)。
第三部分是指交換分區(qū), 我想不講大家都明白.
我想大家看了上面,還是很暈.第一部分(Mem)與第二部分(-/+ buffers/cache)的結(jié)果中有關(guān)used和free為什么這么奇怪.
其實(shí)我們可以從二個(gè)方面來解釋.
對(duì)操作系統(tǒng)來講是Mem的參數(shù).buffers/cached 都是屬于被使用,所以它認(rèn)為free只有232.
對(duì)應(yīng)用程序來講是(-/+ buffers/cach).buffers/cached 是等同可用的,因?yàn)閎uffer/cached是為了提高程序執(zhí)行的性能,當(dāng)程序使用內(nèi)存時(shí),buffer/cached會(huì)很快地被使用。
所以,以應(yīng)用來看看,以(-/+ buffers/cache)的free和used為主.所以我們看這個(gè)就好了.另外告訴大家一些常識(shí).Linux為了提高磁盤和內(nèi)存存取效率, Linux做了很多精心的設(shè)計(jì), 除了對(duì)dentry進(jìn)行緩存(用于VFS,加速文件路 徑名到inode的轉(zhuǎn)換), 還采取了兩種主要Cache方式:Buffer Cache和Page Cache。前者針對(duì)磁盤塊的讀寫,后者針對(duì)文件inode的讀寫。這些Cache能有效縮短了 I/O系統(tǒng)調(diào)用(比如read,write,getdents)的時(shí)間。
記住內(nèi)存是拿來用的,不是拿來看的.不象windows, 無論你的真實(shí)物理內(nèi)存有多少,他都要拿硬盤交換文件來讀.這也就是windows為什么常常提示虛擬空間不足的原因.你們想想,多無聊,在內(nèi)存還有大部分的時(shí)候,拿出一部分硬盤空間來充當(dāng)內(nèi)存.硬盤怎么會(huì)快過內(nèi)存.所以我們看linux,只要不用swap的交換空間,就不用擔(dān)心自己的內(nèi)存太少.如果常常 swap用很多,可能你就要考慮加物理內(nèi)存了.這也是linux看內(nèi)存是否夠用的標(biāo)準(zhǔn)哦.
相關(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用戶進(jìn)程是如何釋放內(nèi)存的 Linux進(jìn)程使用內(nèi)存的基本流程: 從圖中我們可以看出,進(jìn)程的堆,并不是直接建立在Linux的內(nèi)核的內(nèi)存分配策略上的,而是建立在glibc的堆2009-03-10
- linux下由top命令計(jì)算每個(gè)用戶使用內(nèi)存的大小,此功能該如何實(shí)現(xiàn),本為將詳細(xì)介紹2012-11-27
linux free命令參數(shù)及用法詳解(linux查看內(nèi)存命令)
free指令會(huì)顯示內(nèi)存的使用情況,包括實(shí)體內(nèi)存,虛擬的交換文件內(nèi)存,共享內(nèi)存區(qū)段,以及系統(tǒng)核心使用的緩沖區(qū)等2012-07-21linux free命令詳解和使用實(shí)例(查看內(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)存信息的命令,很實(shí)用,需要的朋友可以參考下2014-10-23