ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 对linux下free命令的个人理解

对linux下free命令的个人理解

原创 Linux操作系统 作者:lsq_008 时间:2011-08-10 11:30:07 0 删除 编辑

-bash-3.00$ free -m

             total       used       free     shared    buffers     cached

Mem:           503        491         12          0         18        277

-/+ buffers/cache:        196        307

Swap:         1019         18       1000

 

简单的解释:

Mem:这一列,total不用多说,used可以理解为从操作系统的角度看来使用的内存,free为从操作系统看来剩余的内存,buffers+cache为被操作系统用作缓存的内存。因此,这一行的used和free对于对于系统可用内存来说不具有实际意义

 

-/+ buffers/cache 这一列的含义,used代表从应用程序的角度来看,系统已经使用的内存,应该是上一行的used - buffers/cache,而free代表从应用程序的角度来看,系统可用内存,应该是上一行的free + buffers/cache,也就是这两列的计算一个是需要-,一个需要+,因此,如果要确定系统的内存是否够用,需要看这一行才有实际意义。

 

Swap 就不用多说了,比较简单。

 

可以手动清除系统的缓存,如下:

 

-bash-3.00$ free -m

             total       used       free     shared    buffers     cached

Mem:           503        491         12          0         18        277

-/+ buffers/cache:        196        307

Swap:         1019         18       1000

 

[root@localhost ~]# echo 3 >/proc/sys/vm/drop_caches

 

[root@localhost ~]# free -m

             total       used       free     shared    buffers     cached

Mem:           503        335        167          0          0        150

-/+ buffers/cache:        184        318

Swap:         1019         18       1000

 

可见通过上述命令,系统的缓存得以释放,然后再读写一个文件后,查看内存使用情况:

 

[root@localhost ~]# cp /mnt/hgfs/oracle_soft/p6880880_102000_LINUX.zip /home

[root@localhost ~]# free -m

             total       used       free     shared    buffers     cached

Mem:           503        406         97          0          2        220

-/+ buffers/cache:        183        320

Swap:         1019         18       1000


可以看出,经过刚才的IO操作,导致系统的缓存使用增加。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10972173/viewspace-704574/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
十余年大型金融及电信系统数据库管理经验,曾服务于中国建设银行、中国移动。对oracle,mysql数据库有深入了解。 擅长python开发,独立开发了开源数据库自动化监控运维平台Power Monitor。

注册时间:2008-02-29

  • 博文量
    325
  • 访问量
    1282277