`

我使用过的Linux命令之free - 显示内存的使用情况

阅读更多

我使用过的Linux命令之free - 显示内存的使用情况

本文链接:http://codingstandards.iteye.com/blog/780289    (转载请注明出处)

用途说明

free命令用来显示内存使用情况。display information about free and used memory on the system。

常用参数

b 以字节为单位显示。
-k 以K字节为单位显示。默认显示。
-m 以兆字节为单位显示。

 

-s <seconds> 每隔多少秒重复执行。可编写一个脚本用于监控。

使用示例

示例一

[root@sunrise root]# free
                    total        used        free     shared    buffers     cached
Mem:       4091428    4073120      18308          0     112784    2564792
-/+ buffers/cache:    1395544    2695884
Swap:      8385888          0    8385888
[root@sunrise root]#

 

 

数值的单位是KBytes。

Mem开头的行:

total是指内存总数。比如这台机器4G内存,实际上已经扣除掉了作为显存的部分。

used是指操作系统已经使用的内存数。这部分既包括操作系统本身使用的部分,也包括应用程序已经使用的部分,还包括缓存的部分。

free是指操作系统还没有使用的内存数。我们通常看到这部分比较小。

shared已经废弃不用,总是显示0。

buffers和cached是指作为缓存的内存数。

-/+ buffers/cache开头的行:(重点看这行)

used列是指应用程序总共使用的内存数。等于Mem.used-Mem.buffers-Mem.cached。

free列是指应用程序还未使用的内存数。这个数据才是我们需要关注的空闲可用内存数。等于Mem.free+Mem.buffers+Mem.cached。

如果此行中free列的数据太小,那么就需要优化程序或者增加物理内存了。

 

示例二

[root@bbqztweb root]# free -s 60
             total       used       free     shared    buffers     cached
Mem:       1016532     996320      20212          0      97964     166716
-/+ buffers/cache:     731640     284892
Swap:      2040244     281544    1758700

             total       used       free     shared    buffers     cached
Mem:       1016532     996328      20204          0      97964     166724
-/+ buffers/cache:     731640     284892
Swap:      2040244     281544    1758700

             total       used       free     shared    buffers     cached
Mem:       1016532     996460      20072          0      97964     166724
-/+ buffers/cache:     731772     284760
Swap:      2040244     281544    1758700

             total       used       free     shared    buffers     cached
Mem:       1016532     996316      20216          0      97964     166740
-/+ buffers/cache:     731612     284920
Swap:      2040244     281544    1758700


[root@bbqztweb root]#

 

示例三

free命令实际上是根据/proc/meminfo生成的。-/+ buffers/cache:这行是计算出来的。

[root@bbqztweb root]# free -b; cat /proc/meminfo
             total       used       free     shared    buffers     cached
Mem:    1040928768 1017909248   23019520          0  100220928  172040192
-/+ buffers/cache:  745648128  295280640
Swap:   2089209856  288301056 1800908800
        total:    used:    free:  shared: buffers:  cached:
Mem:  1040928768 1017909248 23019520        0 100220928 371302400
Swap: 2089209856 288301056 1800908800
MemTotal:      1016532 kB
MemFree:         22480 kB
MemShared:           0 kB
Buffers:         97872 kB
Cached:         168008 kB
SwapCached:     194592 kB
Active:         667076 kB
ActiveAnon:     510760 kB
ActiveCache:    156316 kB
Inact_dirty:    125964 kB
Inact_laundry:   20508 kB
Inact_clean:     17308 kB
Inact_target:   166168 kB
HighTotal:      122044 kB
HighFree:         5564 kB
LowTotal:       894488 kB
LowFree:         16916 kB
SwapTotal:     2040244 kB
SwapFree:      1758700 kB
CommitLimit:   2548508 kB
Committed_AS:  1063004 kB
HugePages_Total:     0
HugePages_Free:      0
Hugepagesize:     2048 kB
[root@bbqztweb root]#

 

示例四

[root@bbqztweb root]# free -b -s 1 | grep 'buffers/cache:'
-/+ buffers/cache:  745574400  295354368
-/+ buffers/cache:  745574400  295354368
-/+ buffers/cache:  745574400  295354368
Ctrl+C
[root@bbqztweb root]# free -b -s 1 | grep 'buffers/cache:' | awk '{print $4}'
Ctrl+C

怪哉,没有显示任何输出。但下面的是可以输出东西的,难道管道线多了就不灵了?why?

[root@bbqztweb root]# free -b -s 1 | awk '{print $4}'                        
shared
22200320
295211008
1800908800

shared
22200320
295211008
1800908800


[root@bbqztweb root]#

问题思考

1. free的输出结果中buffers和cached的含义?

2. free -b -s 1 | grep 'buffers/cache:' 可以打印出结果,free -b -s 1 | grep 'buffers/cache:' | awk '{print $4}' 却打印不出任何东西,为什么?

相关资料

【1】扶凯 linux的free命令详解-内存是拿来用的不是拿来看的

【2】脚本的甜品屋 linux free命令: 显示内存信息

【3】小菜linux free命令详解

【4】阿邙的收藏夹 Free命令详解和释放linux Cache

 

返回 我使用过的Linux命令系列总目录

 

0
0
分享到:
评论

相关推荐

    Linux查看CPU和内存使用情况

    ### Linux查看CPU和内存使用情况详解 在Linux系统管理中,了解CPU和内存的使用情况是至关重要的。这不仅有助于日常的系统监控,还能在问题出现时迅速定位并解决。本文将详细介绍如何在Linux环境下使用`top`命令查看...

    检测Linux内存使用情况的free命令的10个例子

    Linux是有名的开源操作系统之一,它拥有着极其巨大的命令集。确定物理内存和交换内存所有可用空间的重要、也是的方法是使用“free”命令。...下面演示命令的使用情况。  # free  total used free 

    Linux上的free命令详解

    在Linux系统中,`free`命令是一个非常实用的工具,用于查看系统内存的状态,包括物理内存(RAM)和交换空间(Swap)。通过分析`free`命令的输出,我们可以获取到系统内存使用的详细信息,这对于系统管理员监控和优化...

    嵌入式Linux内存管理之free命令

    内存监控是系统管理的一个重要环节,而free命令作为Linux系统中常用的内存状态查看工具,能够帮助管理员快速了解系统内存的使用情况。 Free命令提供了系统中物理内存和交换空间(swap)的当前状态,包括总量、已...

    高级 Linux 命令精通指南--资源管理3.docx

    例如,`free -m`以MB为单位显示内存使用情况。当你在监控Oracle数据库服务器时,确保SGA(System Global Area)的大小不超过物理内存的40%,并密切关注交换空间的使用,因为频繁的交换通常意味着内存不足。如果发现...

    Linux命令大全-2024

    ### Linux命令大全-2024:系统管理与设置篇 #### 1. 信息显示命令 **Linux** 是一种广泛使用的开源操作系统,其强大的功能和灵活性使其成为服务器管理和开发人员首选的操作系统之一。了解如何有效地使用 **Linux**...

    linux命令集合-手册

    - `free`:查看内存使用信息。 - `uname`:显示系统信息。 9. **脚本编程**: - `bash`:Bourne Again SHell,Linux默认的shell,支持脚本编写。 - `if`/`for`/`while`:条件和循环结构。 - `function`:定义...

    查看linux系统内存使用情况.pdf

    在Linux操作系统中,`free` 命令是一个非常重要的工具,用于查看系统的内存使用情况。通过这个命令,我们可以了解到系统内存的总体使用状况,包括总内存、已用内存、空闲内存等关键指标。 ##### 1.1 基本命令格式 ...

    Linux的free命令来显示系统中空闲和已使用的内存.docx

    Linux中的`free`命令是一个非常实用的工具,用于监控系统中的内存使用情况,包括空闲、已用、共享、缓存等各项指标。这个命令对于系统管理员来说是必不可少的,因为它可以帮助他们确保服务器的健康运行,及时发现...

    用来查看linux内存使用情况的shell脚本.docx

    通常,Linux 提供了多种查看内存使用情况的命令,例如 `free`、`top`、`htop` 等,但这些命令只能查看整体的内存使用情况,无法对单个进程的内存使用情况进行查看。 为了解决这个问题,本文提供了一个 shell 脚本,...

    free命令详解

    `free`命令是Linux系统中一个非常重要的工具,用于报告系统中物理内存、虚拟内存的使用情况。它可以帮助用户了解系统的内存使用状态,判断系统是否存在内存瓶颈等问题。 #### 命令语法 ```sh free [-bkmotV] [-s ...

    150个常用Linux命令

    - **free** - 显示系统内存使用情况。 - **date** - 显示或设置系统日期和时间。 - **cal** - 显示日历。 #### 六、搜索文件 - **which** - 查找可执行程序的位置。 - **find** - 在文件系统中查找文件。 - **where...

    linux-linux系统初学者-linux命令

    4. **free (查看内存使用情况)** - 用途:显示系统的物理内存、虚拟内存使用情况。 - 示例:`free -m` 显示内存使用情况,单位为 MB。 #### 五、网络命令 1. **ping (测试网络连通性)** - 用途:测试到另一台...

    Linux命令有哪些-.docx

    19. `free -m`:以MB为单位显示内存使用情况。 20. `uptime`:显示系统运行时间、当前在线用户数以及最近1分钟、5分钟和15分钟的平均负载。 21. `let a=34+3; echo $a`:在shell中执行算术运算。 22. `export`:...

    linux-Linux命令大全内容包含Linux命令手册详解学习搜集

    - `free`:查看内存使用情况。 - `dmesg`:显示内核消息,用于诊断硬件问题。 9. **脚本编程**: - `bash`:Linux默认的Shell,支持编写shell脚本进行自动化任务。 10. **文件查找**: - `find`:根据各种条件...

    解析linux中的free

    通过深入解析Linux中的`free`命令及其实现原理,我们不仅可以更准确地理解系统内存的实际使用情况,还可以更好地进行性能优化和故障排查等工作。特别是在高负载环境下,合理管理和配置内存资源对于保持系统稳定性和...

    Linux系统命令top,ps,kill,free,vmstat等命令的源码

    3. **free命令**:`free`用来查看系统中的物理内存和交换内存的使用情况。通过分析源码,我们可以看到它是如何读取`/proc/meminfo`文件来获取内存统计数据的,以及如何计算和展示不同类型的内存(如已用、空闲、缓存...

    查看Linux下系统资源占用常用命令.docx

    free命令用于显示内存的使用情况,包括总的可以使用的内存、已用内存、空闲内存、缓冲区占用的内存等。free命令的格式为:free [-b-k-m] [-o] [-s delay] [-t] [-V] 其中,-b、-k、-m分别以字节、KB、MB为单位显示...

    Linux命令大全完整版.pdf

    - 系统监控命令:如free(显示内存使用情况)、df(显示磁盘空间使用情况)、vmstat(显示虚拟内存状态)等,用于监控系统资源的使用情况。 - 系统服务控制命令:如shutdown(关闭系统)、reboot(重启系统)、halt...

Global site tag (gtag.js) - Google Analytics