free 命令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。
可用参数:
-b 以Byte为单位显示内存使用情况。1 [+ ~) `; u/ C6 ~1 O) _$ e
-k 以KB为单位显示内存使用情况。0 |2 T2 o- A' x7 E
-m 以MB为单位显示内存使用情况。$ N) {* p& F2 T- u0 H: ]
-o 不显示缓冲区调节列。
: P5 {) n( D. @- M7 ? y' ^-s<间隔秒数> 持续观察内存使用状况。
. m' E5 O. D# L. I: n) V3 b-t 显示内存总和列。
+ u- t4 u/ M; x4 i# Q; ~, q# e-V 显示版本信息。
上面是执行free -m 返回的结果,下面是对这些数值的解释:7 f p: V, `( o
total:总计物理内存的大小。. W3 Q" T" ~9 I0 b; v& D9 A6 ~
used:已使用多大。' c. j4 \4 G5 G; x# R
free:可用有多少。
@; Z+ ?& k+ f4 I; c* ]Shared:多个进程共享的内存总额。
; O! g2 K6 J5 D9 Z$ j+ C* P* FBuffers/cached:磁盘缓存的大小。# f( J0 }, v, p/ w9 r- n( V
第三行(-/+ buffers/cached):9 g5 \9 G' m1 A4 ?. ^( O' {* `; l
used:已使用多大。& Q: i. }7 I8 h0 F' `& r
free:可用有多少。http://www.vpser.net VPS侦探
3 J5 E2 p; k1 x7 o第四行是swap。
区别:第二行(mem)的used/free与第三行(-/+ buffers/cache) used/free的区别。这两个的区别在于使用的角度来看,第一行是从OS的角度来看,因为对于OS,buffers/cached 都是属于被使用,所以他的可用内存是191MB,已用内存是168MB,其中包括,内核(OS)使用+Application(X, oracle,etc)使用的+buffers+cached.
第三行所指的是从应用程序角度来看,对于应用程序来说,buffers/cached 是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。$ G3 p5 P' U C
所以从应用程序的角度来说,可用内存=系统free memory+buffers+cached。
如何看额定值:+ M/ o' W2 S' w$ h5 U! k
cat /proc/meminfo
本文固定链接: http://vpsorz.com/?p=530 | VPS-orz