Orzdba's Blog

Think then do it…

【Linux】free命令

leave a comment »

记录linux下,free命令的执行结果的意思:
[zhuxu@xentest8-vm1 ~]$ free
total       used       free     shared    buffers     cached
Mem:       4194304    4164812      29492          0     248892    2148968
-/+ buffers/cache:    1766952    2427352
Swap:       524280     343820     180460
(1)第一行(Mem)中,
total:代表总的内存大小。
used :代表已经使用的内存大小,其中buffers和cached的值已经包含在used里面。
free :代表未分配使用的内存大小。
其中:
total = used + free = 4164812 + 29492 = 4194304
这边的used可以理解为从操作系统层面使用的内存大小(包括缓存)。
shared :代表共享的内存大小。
buffers:代表Buffer Cache使用内存的大小。
cached :代表Page Cache使用内存的大小。
其中:
Buffer Cache和Page Cache都是为了操作系统为了提高磁盘读取的速度,进行的缓存,是可以释放使用的内存。
Buffer Cache以块形式缓冲了块设备的操作,定时或手动的同步到硬盘,它是为了缓冲写操作然后一次性将很多改动写入硬盘,避免频繁写硬盘,提高写入效率。
Page Cache以页面形式缓存了文件系统的文件,给需要使用的程序读取,它是为了给读操作提供缓冲,避免频繁读硬盘,提高读取效率。
(2)第二行(-/+ buffers/cache)中,
used:即 – buffers/cache 的内存大小:used(第一行) –buffers –cached = 4164812 – 248892 – 2148968 = 1766952
free:即 + buffers/cache 的内存大小: free(第一行) + buffers + cached = 29492 + 248892 + 2148968 = 2427352
其中:
这边的used可以理解为应用程序使用的内存大小(不包括缓存)。
这边的free也就是真正的可以使用的剩余内存大小。
另外,可以通过watch命令来动态的显示,下面每0.5s执行一次free命令,并高亮显示变化的地方:
[zhuxu@dbadb1 ~]$ watch –help
Usage: watch [-dhntv] [--differences[=cumulative]] [--help] [--interval=<n>] [--no-title] [--version] <command>
-d, –differences[=cumulative]        highlight changes between updates
(cumulative means highlighting is cumulative)
-h, –help                            print a summary of the options
-n, –interval=<seconds>              seconds to wait between updates
-v, –version                         print the version number
-t, –no-title                        turns off showing the header
[zhuxu@dbadb1 ~]$
[zhuxu@dbadb1 ~]$ watch -d -n 0.5 free

Written by orzdba

三月 10, 2011 at 1:12 pm

Posted in Linux & Unix

Tagged with ,

回應文章

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook photo

You are commenting using your Facebook account. Log Out / 變更 )

Connecting to %s

Follow

Get every new post delivered to your Inbox.