Linux系統(tǒng)中查看內(nèi)存使用情況的命令
Linux系統(tǒng)中我們要查看內(nèi)存使用情況的話可以通過相關(guān)命令來執(zhí)行,下面由學(xué)習(xí)啦小編為大家整理了Linux系統(tǒng)中查看內(nèi)存使用情況的命令,希望對(duì)大家有幫助!
Linux系統(tǒng)中查看內(nèi)存使用情況的命令:1.free命令
Linux中可以使用free -m 來查看當(dāng)前內(nèi)存使用情況,m參數(shù)表示以MB的形式來顯示,示例:
$ free -m total used free shared buffers cached Mem: 1002 769 232 0 62 421 -/+ buffers/cache: 286 715 Swap: 1153 0 1153
第一部分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)
Linux系統(tǒng)中查看內(nèi)存使用情況的命令:2、top命令
在系統(tǒng)維護(hù)的過程中,隨時(shí)可能有需要查看 CPU 使用率,并根據(jù)相應(yīng)信息分析系統(tǒng)狀況的需要。在CentOS 中,可以通過 top 命令來查看 CPU 使用狀況。運(yùn)行 top 命令后,CPU 使用狀態(tài)會(huì)以全屏的方式顯示,并且會(huì)處在對(duì)話的模式 -- 用基于 top 的命令,可以控制顯示方式等等。退出 top 的命令為 q (在 top 運(yùn)行中敲 q 鍵一次)。
操作實(shí)例:
在命令行中輸入 “top”
即可啟動(dòng) top
top 的全屏對(duì)話模式可分為3部分:系統(tǒng)信息欄、命令輸入欄、進(jìn)程列表欄。
第一部分 -- 最上部的 系統(tǒng)信息欄 :
第一行(top):
“00:11:04”為系統(tǒng)當(dāng)前時(shí)刻;
“3:35”為系統(tǒng)啟動(dòng)后到現(xiàn)在的運(yùn)作時(shí)間;
“2 users”為當(dāng)前登錄到系統(tǒng)的用戶,更確切的說是登錄到用戶的終端數(shù) -- 同一個(gè)用戶同一時(shí)間對(duì)系統(tǒng)多個(gè)終端的連接將被視為多個(gè)用戶連接到系統(tǒng),這里的用戶數(shù)也將表現(xiàn)為終端的數(shù)目;
“load average”為當(dāng)前系統(tǒng)負(fù)載的平均值,后面的三個(gè)值分別為1分鐘前、5分鐘前、15分鐘前進(jìn)程的平均數(shù),一般的可以認(rèn)為這個(gè)數(shù)值超過 CPU 數(shù)目時(shí),CPU 將比較吃力的負(fù)載當(dāng)前系統(tǒng)所包含的進(jìn)程;
第二行(Tasks):
“59 total”為當(dāng)前系統(tǒng)進(jìn)程總數(shù);
“1 running”為當(dāng)前運(yùn)行中的進(jìn)程數(shù);
“58 sleeping”為當(dāng)前處于等待狀態(tài)中的進(jìn)程數(shù);
“0 stoped”為被停止的系統(tǒng)進(jìn)程數(shù);
“0 zombie”為被復(fù)原的進(jìn)程數(shù);
第三行(Cpus):
分別表示了 CPU 當(dāng)前的使用率;
第四行(Mem):
分別表示了內(nèi)存總量、當(dāng)前使用量、空閑內(nèi)存量、以及緩沖使用中的內(nèi)存量;
第五行(Swap):
表示類別同第四行(Mem),但此處反映著交換分區(qū)(Swap)的使用情況。通常,交換分區(qū)(Swap)被頻繁使用的情況,將被視作物理內(nèi)存不足而造成的。
第二部分 -- 中間部分的內(nèi)部命令提示欄:
top 運(yùn)行中可以通過 top 的內(nèi)部命令對(duì)進(jìn)程的顯示方式進(jìn)行控制。內(nèi)部命令如下表:
s
- 改變畫面更新頻率
l - 關(guān)閉或開啟第一部分第一行 top 信息的表示
t - 關(guān)閉或開啟第一部分第二行 Tasks 和第三行 Cpus 信息的表示
m - 關(guān)閉或開啟第一部分第四行 Mem 和 第五行 Swap 信息的表示
N - 以 PID 的大小的順序排列表示進(jìn)程列表(第三部分后述)
P - 以 CPU 占用率大小的順序排列進(jìn)程列表 (第三部分后述)
M - 以內(nèi)存占用率大小的順序排列進(jìn)程列表 (第三部分后述)
h - 顯示幫助
n - 設(shè)置在進(jìn)程列表所顯示進(jìn)程的數(shù)量
q - 退出 top
s -
改變畫面更新周期
第三部分 -- 最下部分的進(jìn)程列表欄:
以 PID 區(qū)分的進(jìn)程列表將根據(jù)所設(shè)定的畫面更新時(shí)間定期的更新。通過 top 內(nèi)部命令可以控制此處的顯示方式
補(bǔ)充:Linux系統(tǒng)中查看CPU信息的簡(jiǎn)單實(shí)例
1、查看cpu個(gè)數(shù):
# cat /proc/cpuinfo | grep 'physical id' | sort -u
2、查看cpu核數(shù):
# cat /proc/cpuinfo | grep 'core id' | sort -u | wc -l
3、查看cpu線程:
# cat /proc/cpuinfo | grep 'processor' | sort -u | wc -l