本篇文章和大家了解一下linux下查看內(nèi)存的命令。有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)大家有所幫助。
創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供環(huán)翠網(wǎng)站建設(shè)、環(huán)翠做網(wǎng)站、環(huán)翠網(wǎng)站設(shè)計(jì)、環(huán)翠網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、環(huán)翠企業(yè)網(wǎng)站模板建站服務(wù),十年環(huán)翠做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
linux查看內(nèi)存命令
在Linux下面,我們常用top命令來查看系統(tǒng)進(jìn)程,top也能顯示系統(tǒng)內(nèi)存。我們常用的Linux下查看內(nèi)容的專用工具是free命令。
Linux下內(nèi)存查看命令free詳解:
在Linux下查看內(nèi)存我們一般用free命令:
$ free total used free shared buffers cached Mem: 3266180 3250004 16176 0 110652 2668236 -/+ buffers/cache: 471116 2795064 Swap: 2048276 80160 1968116
下面是對(duì)內(nèi)存查看free命令輸出內(nèi)容的解釋:
total:總計(jì)物理內(nèi)存的大小。
used:已使用多大。
free:可用有多少。
Shared:多個(gè)進(jìn)程共享的內(nèi)存總額。
Buffers/cached:磁盤緩存的大小。
第三行(-/+ buffers/cached):
used:已使用多大。
free:可用有多少。
第四行就不多解釋了。
-/+ buffers/cache含義與區(qū)別:
第二行(mem)的used/free與第三行(-/+ buffers/cache) used/free的區(qū)別在于使用的角度來看:
第二行是從OS的角度來看,因?yàn)閷?duì)于OS,buffers/cached 都是屬于被使用,所以他的可用內(nèi)存是16176KB,已用內(nèi)存是3250004KB,其中包括,內(nèi)核(OS)使用+Application(X, oracle,etc)使用的+buffers+cached.
第三行所指的是從應(yīng)用程序角度來看,對(duì)于應(yīng)用程序來說,buffers/cached 是等于可用的,因?yàn)閎uffer/cached是為了提高文件讀取的性能,當(dāng)應(yīng)用程序需在用到內(nèi)存的時(shí)候,buffer/cached會(huì)很快地被回收。
所以從應(yīng)用程序的角度來說,可用內(nèi)存=系統(tǒng)free memory+buffers+cached。
如上例:
2795064=16176+110652+2668236
內(nèi)存如何進(jìn)行交換
接下來解釋什么時(shí)候內(nèi)存會(huì)被交換,以及按什么方交換。 當(dāng)可用內(nèi)存少于額定值的時(shí)候,就會(huì)開會(huì)進(jìn)行交換。如何看額定值:
cat /proc/meminfo
輸出為:
$ cat /proc/meminfo MemTotal: 3266180 kB MemFree: 17456 kB Buffers: 111328 kB Cached: 2664024 kB SwapCached: 0 kB Active: 467236 kB Inactive: 2644928 kB HighTotal: 0 kB HighFree: 0 kB LowTotal: 3266180 kB LowFree: 17456 kB SwapTotal: 2048276 kB SwapFree: 1968116 kB Dirty: 8 kB Writeback: 0 kB Mapped: 345360 kB Slab: 112344 kB Committed_AS: 535292 kB PageTables: 2340 kB VmallocTotal: 536870911 kB VmallocUsed: 272696 kB VmallocChunk: 536598175 kB HugePages_Total: 0 HugePages_Free: 0 Hugepagesize: 2048 kB
用free -m查看的結(jié)果:
[root@scs-2 tmp]# free -m total used free shared buffers cached Mem: 3189 3173 16 0 107 2605 -/+ buffers/cache: 460 2729 Swap: 2000 78 1921
查看/proc/kcore文件的大?。▋?nèi)存鏡像):
$ ll -h /proc/kcore -r-------- 1 root root 4.1G Jun 12 12:04 /proc/kcore
備注:
占用內(nèi)存的測(cè)量
測(cè)量一個(gè)進(jìn)程占用了多少內(nèi)存,linux為我們提供了一個(gè)很方便的方法,/proc目錄為我們提供了所有的信息,實(shí)際上top等工具也通過這里來獲取相應(yīng)的信息。
/proc/meminfo 機(jī)器的內(nèi)存使用信息 /proc/pid/maps pid為進(jìn)程號(hào),顯示當(dāng)前進(jìn)程所占用的虛擬地址。 /proc/pid/statm 進(jìn)程所占用的內(nèi)存 $ cat /proc/self/statm 654 57 44 0 0 334 0
輸出解釋
CPU 以及CPU0。。。的每行的每個(gè)參數(shù)意思(以第一行為例)為:
參數(shù) 解釋 /proc/status Size (pages) 任務(wù)虛擬地址空間的大小 VmSize/4 Resident(pages) 應(yīng)用程序正在使用的物理內(nèi)存的大小 VmRSS/4 Shared(pages) 共享頁數(shù) 0 Trs(pages) 程序所擁有的可執(zhí)行虛擬內(nèi)存的大小 VmExe/4 Lrs(pages) 被映像到任務(wù)的虛擬內(nèi)存空間的庫的大小 VmLib/4 Drs(pages) 程序數(shù)據(jù)段和用戶態(tài)的棧的大小 (VmData+ VmStk )4 dt(pages) 04
查看機(jī)器可用內(nèi)存
/proc/28248/>free total used free shared buffers cached Mem: 1023788 926400 97388 0 134668 503688 -/+ buffers/cache: 288044 735744 Swap: 1959920 89608 1870312
Linux查看內(nèi)存及內(nèi)存使用小結(jié):
我們通過free命令查看機(jī)器空閑內(nèi)存時(shí),會(huì)發(fā)現(xiàn)free的值很小。這主要是因?yàn)?,在linux中有這么一種思想,內(nèi)存不用白不用,因此它盡可能的cache和buffer一些數(shù)據(jù),以方便下次使用。但實(shí)際上這些內(nèi)存也是可以立刻拿來使用的。
所以空閑內(nèi)存=free+buffers+cached=total-used
關(guān)于linux下查看內(nèi)存的命令就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的參考價(jià)值,可以學(xué)以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。