free 命令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。
可用参数:
-b 以Byte为单位显示内存使用情况。
4 k+ U6 X/ Y0 j, q8 ]' G) [. n& H-k 以KB为单位显示内存使用情况。
0 ]2 |# g2 T( O9 q' m0 L-m 以MB为单位显示内存使用情况。
9 Z7 X$ n' @" V" C) h( R, c-o 不显示缓冲区调节列。
3 J5 `8 L' }* |% X-s<间隔秒数> 持续观察内存使用状况。
% ~% h# W: M, E6 O1 ]-t 显示内存总和列。
( e9 ]& h9 ~( x6 e6 _-V 显示版本信息。
上面是执行free -m 返回的结果,下面是对这些数值的解释:) i* g2 V: f6 h
total:总计物理内存的大小。6 I1 D2 o' a" D
used:已使用多大。
! t8 q& a/ n4 Q+ {, y: pfree:可用有多少。
: C; [6 A; k4 b7 a8 C& t" mShared:多个进程共享的内存总额。
, ~7 A/ i$ e0 j# G2 M k6 a& OBuffers/cached:磁盘缓存的大小。+ _+ f3 Z" p. T L( z% K, Q. g' ?
第三行(-/+ buffers/cached):2 V* g0 t; V0 e8 Q5 P0 S
used:已使用多大。; d1 j# n$ X% @6 ?+ ]$ a
free:可用有多少。http://www.vpser.net VPS侦探
) h3 k4 W& G2 }. ?" q第四行是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会很快地被回收。3 F( L% y; J# O5 v& R8 e, }
所以从应用程序的角度来说,可用内存=系统free memory+buffers+cached。
如何看额定值:
: O) A! p' s/ wcat /proc/meminfo
本文固定链接: http://vpsorz.com/?p=530 | VPS-orz