1、free 查看系統總的內存狀況linux
第一部分Mem行:緩存
total 內存總數: 3768M
used 已經使用的內存數: 3136M
free 空閒的內存數: 632M
shared 當前已經廢棄不用,老是0
buffers Buffer 緩存內存數: 426M
cached Page 緩存內存數:1562M性能
關係:total(3768M) = used(3136M) + free(632M)操作系統
第二部分(-/+ buffers/cache):
(-buffers/cache) used內存數:1148M (指的第一部分Mem行中的used – buffers – cached)
(+buffers/cache) free內存數: 2620M (指的第一部分Mem行中的free + buffers + cached)3d
可見-buffers/cache反映的是被程序實實在在吃掉的內存,而+buffers/cache反映的是能夠挪用的內存總數.blog
第三部分:Swap交換區進程
若是經常swap用不少,可能你就要考慮加物理內存了.這也是linux看內存是否夠用的標準哦.內存
解釋:sed
對操做系統來說是Mem的參數.buffers/cached 都是屬於被使用,因此它認爲free只有232.
對應用程序來說是(-/+ buffers/cach).buffers/cached 是等同可用的,由於buffer/cached是爲了提升程序執行的性能,當程序使用內存時,buffer/cached會很快地被使用。因此,從應用來看看,以(-/+ buffers/cache)的free和used爲主.因此咱們看這個就行了。程序
2、查看某個進程佔用的內存狀況 pidstat -r
PID:進程標識符
Minflt/s:任務每秒發生的次要錯誤,不須要從磁盤中加載頁
Majflt/s:任務每秒發生的主要錯誤,須要從磁盤中加載頁
VSZ:虛擬地址大小,虛擬內存的使用KB
RSS:常駐集合大小,非交換區五里內存使用KB
%MEM :該進程佔用的內存百分比
Command:task命令名
3、cat /proc/19978/status 查看指定進程的快照
VmRSS //進程當前使用的物理內存的大小VmData //進程佔用的數據段大小VmSize //進程當前使用的虛擬內存的大小