文档来源为:从网络收集整理.word 版本可编辑.欢迎下载支持.
用 free -m 查看的结果:
# free -m
total used free shared buffers cached
Mem: 504 471 32 0 19 269
-/+ buffers/cache: 183 321
Swap: 996 0 996
查看/proc/kcore 文件的大小:
# ll -h /proc/kcore
-r-------- 1 root root 512M 10 月 26 20:40 /proc/kcore
在 Linux 下查看内存我们一般用 free 命令:
[root@scs-2 tmp]# free
total used free shared buffers cached
Mem: 3266180 3250004 16176 0 110652 2668236
-/+ buffers/cache: 471116 2795064
Swap: 2048276 80160 1968116
下面是对这些数值的解释:
total:总计物理内存的大小。
used:已使用多大。
free:可用有多少。
Shared:多个进程共享的内存总额。
Buffers/cached:磁盘缓存的大小。第三行(-/+ buffers/cached):
used:已使用多大。
free:可用有多少。第四行就不多解释了。区别:第二行(mem)的 used/free 与第三行(-/+
buffers/cache) used/free 的区别。这两个的区别在于使用的角度来看,第一行是从 OS 的角
度来看,因为对于 OS,buffers/cached 都是属于被使用,所以他的可用内存是 16176KB,
已用内存是 3250004KB,其中包括,内核(OS)使用+Application(X, oracle,etc)使用的
+buffers+cached.第三行所指的是从应用程序角度来看,对于应用程序来说,buffers/cached
是等于可用的,因为 buffer/cached 是为了提高文件读取的性能,当应用程序需在用到内存的
时候,buffer/cached 会很快地被回收。所以从应用程序的角度来说,可用内存=系统 free
memory+buffers+cached。如上例:
2795064=16176+110652+2668236
接下来解释什么时候内存会被交换,以及按什么方交换。当可用内存少于额定值的时候,就会开
会进行交换。如何看额定值:
cat /proc/meminfo
[root@scs-2 tmp]# cat /proc/meminfo
MemTotal: 3266180 kB
MemFree: 17456 kB
Buffers: 111328 kB
Cached: 2664024 kB
1