free命令要点

[root@datanode05:~]# free -g
                  A           B          C        D          E          F
1               total       used       free     shared    buffers     cached
2 Mem:           125        117          7          0          2         93
3 -/+ buffers/cache:         21        103 
4 Swap:          127          0        127

1、Linux内核会尽可能多的使用内存来提供给cache使用以提高IO性能,所以上面已使用117GB,实际上大部分是被cache占用着,一旦应用需要使用,则内核会立刻释放
2、total = free + used
3、关于-/+ buffers/cache
对于3B,即-buffers/cache,表示一个应用程序认为系统被用掉多少内存;(the amount of memory used by processes)
对于3C,即+buffers/cache,表示一个应用程序认为系统还有多少内存;(the amount available to processes)
3B=2B-2E-2F,即21=117-2-93
3C=2C+2E+2F,即103=7+2+93
4、释放掉被系统cache占用的数据

echo 3 > /proc/sys/vm/drop_caches
5、shared表示被几个进程共享的内存的,现在已经deprecated,其值总是0(当然在一些系统上也可能不是0,主要取决于free命令是怎么实现的)
6、第四行为交换区的信息,分别是交换的总量(total),使用量(used)和有多少空闲的交换区(free),这个比较清楚,不说太多。


http://stackoverflow.com/questions/17618737/linux-free-shows-high-memory-usage-but-top-does-not
http://www.cnblogs.com/coldplayerest/archive/2010/02/20/1669949.html


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/opensure/article/details/51544332
文章标签: linux shell free
个人分类: linux
上一篇Kafka深度解析
下一篇Kerberos HBase集群Bulk Load权限问题
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭