free 命令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。
可用参数:
-b 以Byte为单位显示内存使用情况。
6 X k" z( k2 c% }" {" D; \4 e1 V-k 以KB为单位显示内存使用情况。
; z* B, a/ A( j* R-m 以MB为单位显示内存使用情况。( {# G7 k5 D" m( Z9 G S$ o
-o 不显示缓冲区调节列。
& k8 {$ }2 \( l& j8 Z- U) ~-s<间隔秒数> 持续观察内存使用状况。0 c, Y. T# D5 e
-t 显示内存总和列。 U2 b5 s" k4 N7 l! D
-V 显示版本信息。
上面是执行free -m 返回的结果,下面是对这些数值的解释:
! q; p( e$ f4 x$ ototal:总计物理内存的大小。; R% a4 t1 ], A
used:已使用多大。
2 y H, ?9 k; [+ |; f' K6 z% Hfree:可用有多少。
/ D9 r) \( n0 p- G; hShared:多个进程共享的内存总额。/ ?% c+ z( y* {( w$ a: Z6 w" e
Buffers/cached:磁盘缓存的大小。
( A1 d+ P0 \3 T% w8 C8 j第三行(-/+ buffers/cached):( j0 j0 q a% s) P8 C! k( g& U2 \
used:已使用多大。
1 D8 u9 y# Z3 m: Z7 bfree:可用有多少。http://www.vpser.net VPS侦探
7 f! }1 U+ T7 {# ~! H' c- r( w' f第四行是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会很快地被回收。! [# @, E0 r( A' M4 U* O. d( T
所以从应用程序的角度来说,可用内存=系统free memory+buffers+cached。
如何看额定值:) K& Q8 [9 `3 h4 h! g% P
cat /proc/meminfo
本文固定链接: http://vpsorz.com/?p=530 | VPS-orz