Linux使用free命令查看内存

Linux 2015年05月21日

Linux free查看内存

对于习惯了使用Windows的用户来说,如果他们开始使用Linux系统,他们会发现Linux使用的内存实现在“太高”了,可能1G的内存,free的只有100M,而在使用Windows XP时也许只使用了200M的。其实,Linux使用内存的方式与Windows是不一样的。

Linux内存

在Linux下使用free命令来查看当前内存的使用情况,其中-m是按MB字节来显示;还可以使用-b,表示按照字节来显示;-k为默认值,表示按KB来显示。

[mn@furzoom test]$ free -m
             total       used       free     shared    buffers     cached
Mem:           486        465         20          0         18         90
-/+ buffers/cache:        357        129
Swap:         2047        126       1921

输出结果有三部分,分别是Mem-/+ buffers/cacheSwap

Mem部分

Mem部分是从操作系统的角度来看内存,其中:

  • total表示物理内存的总数(不包括内核保留给自己启动的部分):486M
  • used表示已经使用的内存:465M
  • free表示空闲内存:20M
  • shared表示进程共享的内存,现在已经弃用:0M
  • buffers表示Buffer缓存内存:18M
  • cached表示Page缓存内存:90M

其中:total(486M) = used(465M) + free(20M)。shared、buffers和cached内存数包含在used的内存当中。

注:这里不相加不相等是由于计算MB时舍入的原因。

-/+ buffers/cache部分

-/+ buffers/cache部分是从应用程序的角度来看内存的使用的:

  • used表示已经使用的内存:357M
  • free表示空闲内存:129M

从应用程序的角度来讲,buffers和cached的内存等同于可以使用的内存,因为它们都是为了提高程序的性能,且在需要的时候,buffers和cached内存可以被使用。buffers和cached都表示缓存,在系统级开发才需要加以区分,区别详见Linux下buffers与cached内存的区别

由于buffers和cached的内存的应用程序使用时可以被使用,因此有如下关系:

-/+ buffers/cache部分的used内存=Mem部分的 used - buffers - cached
-/+ buffers/cache部分的free内存=Mem部分的 free + buffers + cached

Swap部分

Swap部分就是交换分区,无需太多的说明。

  • total表示内存总数:2047M
  • used表示已经使用的内存:126M
  • free表示空闲内存:1921M

总结

在Linux系统中,只要有内存可用,就会使用内存。这一点与Windows是截然不同的,因为Windows无论有多少物理内存,都使用部分硬盘来进行交换文件的读写。在Linux只,当Swap常常使用很多时,要考虑增加内存的容量了。

当然,你可以理解为在Linux下内存是用来用的,而不是用来看的。

如无特别说明,本站文章皆为原创,若要转载,务必请注明以下原文信息:
日志标题:《Linux使用free命令查看内存》
日志链接:http://furzoom.com/linux-free-instruction/
博客名称:枫竹梦

发表评论

插入图片

NOTICE1:请申请gravatar头像,没有头像的评论可能不会被回复!

回到顶部