❶ linux下如何查看服务器物理内存状况
查看内存使用情况,可以使用命令free-m
其结果大致如下:
Mem:32108306811426012321165
-/+buffers/cache:939222715
Swap:34287126233025
在第一部分Mem行中有如下参数:
*total:内存总数,即32108MB
*used:已经使用的内存数,即30681MB
*free:空闲的内存数:即1426MB
*shared:当前已废弃不用,总是0
*buffersBuffer:缓存内存数,即123MB
*cachedPage:缓存内存数,即421MB
其中,内存总数与已经使用内存数和空闲内存数的关系是:
total(32108)=used(30681)+free(1426)
在第二部分内容(-/+buffers/cache)中个参数如下所示:
(-buffers/cache):真正使用的内存数,即9392M,他指的是第一部分的used-buffers-cached
(+buffers/cache):可用的内存数,即22715M,他指的是第一部分的free+buffers+cached
其含义可以理解为:-buffers/cached反映的是被程序实实在在用掉的内存,而+buffers/cached反映的是可以被使用(或者说挪用)的内存总数。
❷ Linux内存 Buffer和Cache的区别及Linux中查看内存的命令free
Linux中内存查看命令free详解
2011-08-18 11:24:34| 分类: linux相关|举报|字号 订阅
下载LOFTER我的照片书 |
free命令用来查看内存的使用情况,与Top命令相比,开销较小。
$free –m
total used free shared buffers cached
mem: 1002 769 232 0 62 421
-/+ buffers/cache 286 715
swap 1153 0 1 153
说明:在理解free命令的输出项的时候,要区分两个概念:第一行(mem),是针对操作系统来说的,而对操作系统来说buffer和cache都是属于被使用了的内存。第二行(-/+ buffers/cache)是针对应用程序来说的,而对应用程序来说,buffer和cache都属于可以使用的内存。
所以:
第一行(mem):
total:表示系统可使用的物理内存的总量为1002;
used表示已经被分配的内存为769,具体包括真正已经被使用掉的buffer和cache内存286,未使用的buffer内存62,未使用的cache内存421,即769 = 62 + 421 + 286;
free:表示为分配的物理内存为232;
buffers:已经被系统分配而未使用的buffer内存62;
cached:已经被分配而未使用的cache内存421;
第二行(-/+ buffers/cache);
used:已经被应用程序真正使用掉的buffer和cache内存为286;
free:可以被应用程序使用的内存为715,其中包括:已经分配而未使用的buffer内存62,已经分配而未使用的cache内存421,还没有被分配的内存232,即: 715 = 62 + 421 + 232;
另:Linux中buffer与cache的区别:
buffer:要写到硬盘上去的数据内存;
cache:读取到内存中的数据内存;
❸ linux cached内存过大
cached主要负责缓存文件使用, 日志文件过大造成cached区内存增大把内存占用完 .
Free中的buffer和cache:(它们都是占用内存):buffer : 作为buffer cache的内存,是块设备的读写缓冲区cache: 作为page cache的内存, 文件系统的cache如果 cache 的值很大,说明cache住的文件数很多。
手动释放
cached
To free pagecache:
echo 1 > /proc/sys/vm/drop_caches
To free dentries and inodes:
echo 2 > /proc/sys/vm/drop_caches
To free pagecache, dentries and inodes: echo 3 > /proc/sys/vm/drop_caches