linux系统下,查看内存使用情况的命令为 free
# free
total used free shared buffers cached
Mem: 3979576 3952704 26872 0 341764 2886160
-/+ buffers/cache: 724780 3254796
Swap: 1951888 164 1951724
# free -m
total used free shared buffers cached
Mem: 3886 3857 28 0 333 2816
-/+ buffers/cache: 707 3178
Swap: 1906 0 1905
关系:total = used+ free
第二部分(-/+ buffers/cache):
(-buffers/cache) used内存数: (指的第一部分Mem行中的used – buffers – cached)
(+buffers/cache) free内存数: (指的第一部分Mem行中的free + buffers + cached)
总结一下,系统初始化时,就已经分配出很大一部分内存给缓存,这部分缓存用来随时提供给程序使用,如果程序不用,那这部分内存就空闲,从上面例子分析,实际上系统分配了3857M (707M + 3178M=第一行的used) 给了缓存,而程序只使用了707M。通常我们概念上的内存使用了多少,实际上就是这个707M。而真正剩余内存为3178M= 28M+333M+2816M
所以,以应用来看看,以(-/+ buffers/cache)的free和used为主.所以我们看这个就好了.另外告诉大家一些常识.Linux为了提高磁盘和内存存取效率, Linux做了很多精心的设计, 除了对dentry进行缓存(用于VFS,加速文件路径名到inode的转换), 还采取了两种主要Cache方式:Buffer Cache和Page Cache。前者针对磁盘块的读写,后者针对文件inode的读写。这些Cache能有效缩短了 I/O系统调用(比如read,write,getdents)的时间。
记住内存是拿来用的,不是拿来看的.不象windows,无论你的真实物理内存有多少,他都要拿硬盘交换文件来读.这也就是windows为什么常常提示虚拟空间不足的原因.你们想想,多无聊,在内存还有大部分的时候,拿出一部分硬盘空间来充当内存.硬盘怎么会快过内存.所以我们看linux,只要不用swap的交换空间,就不用担心自己的内存太少.如果常常swap用很多,可能你就要考虑加物理内存了.这也是linux看内存是否够用的标准哦.
# free
total used free shared buffers cached
Mem: 3979576 3952704 26872 0 341764 2886160
-/+ buffers/cache: 724780 3254796
Swap: 1951888 164 1951724
# free -m
total used free shared buffers cached
Mem: 3886 3857 28 0 333 2816
-/+ buffers/cache: 707 3178
Swap: 1906 0 1905
关系:total = used+ free
第二部分(-/+ buffers/cache):
(-buffers/cache) used内存数: (指的第一部分Mem行中的used – buffers – cached)
(+buffers/cache) free内存数: (指的第一部分Mem行中的free + buffers + cached)
总结一下,系统初始化时,就已经分配出很大一部分内存给缓存,这部分缓存用来随时提供给程序使用,如果程序不用,那这部分内存就空闲,从上面例子分析,实际上系统分配了3857M (707M + 3178M=第一行的used) 给了缓存,而程序只使用了707M。通常我们概念上的内存使用了多少,实际上就是这个707M。而真正剩余内存为3178M= 28M+333M+2816M
所以,以应用来看看,以(-/+ buffers/cache)的free和used为主.所以我们看这个就好了.另外告诉大家一些常识.Linux为了提高磁盘和内存存取效率, Linux做了很多精心的设计, 除了对dentry进行缓存(用于VFS,加速文件路径名到inode的转换), 还采取了两种主要Cache方式:Buffer Cache和Page Cache。前者针对磁盘块的读写,后者针对文件inode的读写。这些Cache能有效缩短了 I/O系统调用(比如read,write,getdents)的时间。
记住内存是拿来用的,不是拿来看的.不象windows,无论你的真实物理内存有多少,他都要拿硬盘交换文件来读.这也就是windows为什么常常提示虚拟空间不足的原因.你们想想,多无聊,在内存还有大部分的时候,拿出一部分硬盘空间来充当内存.硬盘怎么会快过内存.所以我们看linux,只要不用swap的交换空间,就不用担心自己的内存太少.如果常常swap用很多,可能你就要考虑加物理内存了.这也是linux看内存是否够用的标准哦.
编辑回复