1.查看内存使用情况(单位:MB)
[root@iZbp11rfoyeescusr~]# free -m
total used free shared buffers cached
Mem: 7872 2408 5463 0 129 1108
-/+buffers/cache: 1171 6700
Swap: 0 0 0
[root@iZbp11rfoyeescusr~]# free --help
free: invalid
option -- '-'
usage: free
[-b|-k|-m|-g] [-l] [-o] [-t] [-s delay] [-c count] [-V]
-b,-k,-m,-g show output in bytes, KB, MB, orGB
-l show detailed low and high memorystatistics
-o use old format (no -/+buffers/cache line)
-t display total for RAM + swap
-s update every [delay] seconds
-c update [count] times
-V display version information and exit
参数详细说明:
total:内存总数。
used:已经使用的内存数。
free:空闲的内存数。
shared:多个进程共享的内存总额。
buffers
buffer cache和cached page cache:磁盘缓存的大小。
-buffers/cache:(已用)的内存数,即used-buffers-cached。
+buffers/cache:(可用)的内存数,即free +
buffers + cached。
-m参数其实是以整数数值来取舍的;
-buffers/cache反映的是被应用程序实实在在占用的内存,而+buffers/cache反映的是可以挪用的内存总数;
Linux为了提高磁盘和内存的存取效率,它做了很多精心的设计,除了对dentry进行缓存外(用于VFS、加速文件路径名到inode的转换),还采取了两种主要cache方式:buffer cache和page cache,前者针对磁盘块的读写,后者针对文件inode的读写。这些cache能有效地缩短I/O系统调用(比如read、write、getdents)的时间。
在Linux系统中,内存是拿来用的,不是用来看的。而在Windows系统中,无论你的真实物理内存有多少,它都会用硬盘交换文件来读,即使是内存还有一大部分。这也就是Windows系统常常提示虚拟空间不足的原因。可以想象得到,硬盘的速度怎么会快过内存,所以我们在观察Linux系统的内存使用情况时,只要没发现用swap的交换空间,就不用担心自己的内存太小。如果常常看到swap用了很多,你可能就要考虑增加物理内存了。这也是在Linux服务器上看内存是否够用的标准。