Welcome 微信登录

首页 / 操作系统 / Linux / Linux内存管理-free学习心得

free命令可以显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer。在Linux系统监控的工具中,free命令是最经常使用的命令之一。下面给出一个free命令的例子:1 [root@linuxidc ~]# free2total used free sharedbuffers cached3 Mem: 8062392209283259695600 18713214988324 -/+ buffers/cache: 40686876555245 Swap:209714802097148 下面介绍一下这个命令的输出结果信息: 第一行:显示了内存的详细信息,比如说总内存、已用的内存、空闲的内存、多个进程共享的内存、用于缓冲区的内存以及用于缓存的内存。 第二行:显示了总的缓冲区内存/缓存的内存使用以及空闲的情况。使用的是第二行used总内存(2092832)-used缓冲区内存(187132)-used缓存区内存(1498832)=406868.空闲的是total的(8062392)-used的缓存/缓冲区内存(406868)=7655524. 第三行:显示了总的交换区总内存、已用的以及空闲的内存。交换区的就是在HDD上创建的用来增加虚拟的增加内存大小的虚拟内存。那么问题来了:缓冲区和缓存有什么区别呢? 缓冲区是针对特定的应用临时存储数据的地方,而且这些数据不能被其它应用使用。这和带宽的概念比较相似。当你尝试通过网络来传输突发性的数据时,如果你的网卡只能发送少量的数据时,它能把这些大量的数据存在缓冲区中,以便它能以较低的网卡能接受的速度来发送这些数据。在另一方面,缓存是为了更快的访问而存储一些被频繁使用的数据的东西。其它的不同就是缓存能被多次使用而缓冲区只能被用一次。但是它们都为你的数据处理提供一个临时存储。下面举些栗子来说下使用方法。free命令使用的栗子 1.以兆字节为单位显示内存(常用) 这个是很好记的,就是-m:1 [root@linuxidc ~]# free -m2total used free sharedbuffers cached3 Mem:7873 2043 58290182 14634 -/+ buffers/cache:397 74765 Swap: 20470 2047 2.还有以字节、千字节、千兆为单位显示内存(不常用) 使用-b、-k、-g参数,即可以字节、千字节、千兆字节为单位显示内存的大小:1 [root@linuxidc ~]# free -b2total used free sharedbuffers cached3 Mem:8255889408 2142736384 61131530240191623168 15348039684 -/+ buffers/cache:416309248 78395801605 Swap: 21474795520 2147479552 3.显示总计使用情况 使用-t参数,将会多一行total用于显示总的使用量:1 [root@linuxidc ~]# free -t2total used free sharedbuffers cached3 Mem: 8062392209251659698760 18713214988324 -/+ buffers/cache: 40655276558405 Swap:2097148020971486 Total:1015954020925168067024 4.关闭显示缓冲区那一行 使用-o参数,即可关闭第二行的显示:1 [root@linuxidc ~]# free -o2total used free sharedbuffers cached3 Mem: 8062392209276459696280 18713214988324 Swap:209714802097148 5.以一个固定的时间间隔更新当前内存使用情况 加上-s参数,然后在-s参数后加上一个整数便会在定期的时间间隔中更新内存的使用情况,下面我将举个栗子,凑个整数吧,在1024s内更新一次:1 [root@linuxidc ~]# free -o2total used free sharedbuffers cached3 Mem: 8062392209276459696280 18713214988324 Swap:209714802097148 6.额外显示低以及高的内存的统计数据 使用-l参数额外显示低以及高的内存大小统计数据: 1 [root@linuxidc ~]# free -l2total used free sharedbuffers cached3 Mem: 8062392209251659698760 18713214988324 Low: 8062392209251659698765 High:0006 -/+ buffers/cache: 40655276558407 Swap:209714802097148  7.查看free命令的版本 使用-V参数显示版本信息:1 [root@linuxidc ~]# free -V2 procps version 3.2.8 以上。Linux内存管理-free命令  http://www.linuxidc.com/Linux/2013-08/88289.htm本文永久更新链接地址