- 浏览: 4754376 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
bzhao:
你也应该可以这样:(not tested)./rbtunnel ...
在Bash脚本中怎么关闭文件描述符? -
bzhao:
如果有A进程原代码情况下,通过如下调用,把他的子进程继承关闭则 ...
在Bash脚本中怎么关闭文件描述符? -
Master-Gao:
楼主咋没分析下源码呢?
我使用过的Linux命令之dirname - 截取给定路径的目录部分 -
jiedushi:
tail -F 就可以吧
Linux下实时跟踪log4j日志文件的bash脚本 - 增强了tail -f的功能 -
java_is_new:
新手学习了,就是不明白为一个网卡配多个ip有什么用
我使用过的Linux命令之ifconfig - 网络配置命令
我使用过的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用tar归档压缩文件时忽略某些文件和目录
2013-02-01 10:19 17053在Linux下,常用tar对文 ... -
使用nmap扫描服务器端口的一次操作
2012-11-01 17:00 15139使用nmap扫描服务器端口的一次操作 本文来自:http ... -
我使用过的Linux命令之wget - ooo
2011-09-14 13:10 0我使用过的Linux命令之wg ... -
推荐一篇学习Vim使用的好文:酷壳 - 简明 Vim 练级攻略
2011-09-09 12:53 9150简明 Vim 练级攻略 http://coolshell.c ... -
推荐一篇学习Vim使用的好文:酷壳 - 简明 Vim 练级攻略
2011-09-09 12:49 1简明 Vim 练级攻略 http://coolshell.c ... -
我使用过的Linux命令之:(冒号) - 啥也不做(除了……)
2011-08-29 13:18 12101我使用过的Linux命令之: ... -
我使用过的Linux命令之date - 显示、修改系统日期时间
2011-08-25 09:21 41985我使用过的Linux命令之da ... -
我使用过的Linux命令之declare - 声明shell变量(不知道没关系、知道了就更好的内建命令)
2011-08-16 09:22 21831我使用过的Linux命令之declare - 声明shell变 ... -
我使用过的Linux命令之alias - 设置命令的别名,让 Linux 命令更简练
2011-08-11 09:31 28829我使用过的Linux命令之alias - 设置命令的别名,让 ... -
我使用过的Linux命令之ar - 创建静态库.a文件
2011-08-08 10:40 51934我使用过的Linux命令之ar - 创建静态库.a文件 本 ... -
我使用过的Linux命令之crontab - 设置例行任务(类似于Windows中的任务计划)
2011-08-04 22:26 9752我使用过的Linux命令之crontab - 设置例行任务(类 ... -
我使用过的Linux命令之chmod - 改变文件/目录的访问权限
2011-08-03 21:33 10706我使用过的Linux命令之chmod - 改变文件/目录的访问 ... -
我使用过的Linux命令之export - 设置或显示环境变量
2011-08-02 19:55 25441我使用过的Linux命令之export - 设置或显示环境变量 ... -
我使用过的Linux命令之wc - 统计文件行数、单词数或字节数
2011-07-26 10:50 29019我使用过的Linux命令之wc - 统计文件行数、单词数或字节 ... -
我使用过的Linux命令之groupdel - 删除群组
2011-07-22 22:13 9693我使用过的Linux命令之gr ... -
我使用过的Linux命令之ifconfig - 网络配置命令
2011-07-21 20:43 60555我使用过的Linux命令之ifconfig - 网络配置命令 ... -
我使用过的Linux命令之ll - 列出文件/目录的详细信息
2011-07-20 21:22 7209我使用过的Linux命令之ll ... -
我使用过的Linux命令之mkdir - 创建目录
2011-07-20 20:58 13686我使用过的Linux命令之mkdir - 创建目录 本文链 ... -
我使用过的Linux命令之perror - 解释错误代码
2011-07-18 20:29 25081我使用过的Linux命令之perror - 解释错误代码 ... -
我使用过的Linux命令之ping - 测试与目标主机的连通性
2011-07-16 10:46 26615我使用过的Linux命令之ping - 测试与目标主机的连通性 ...
相关推荐
### Linux查看CPU和内存使用情况详解 在Linux系统管理中,了解CPU和内存的使用情况是至关重要的。这不仅有助于日常的系统监控,还能在问题出现时迅速定位并解决。本文将详细介绍如何在Linux环境下使用`top`命令查看...
Linux是有名的开源操作系统之一,它拥有着极其巨大的命令集。确定物理内存和交换内存所有可用空间的重要、也是的方法是使用“free”命令。...下面演示命令的使用情况。 # free total used free
在Linux系统中,`free`命令是一个非常实用的工具,用于查看系统内存的状态,包括物理内存(RAM)和交换空间(Swap)。通过分析`free`命令的输出,我们可以获取到系统内存使用的详细信息,这对于系统管理员监控和优化...
内存监控是系统管理的一个重要环节,而free命令作为Linux系统中常用的内存状态查看工具,能够帮助管理员快速了解系统内存的使用情况。 Free命令提供了系统中物理内存和交换空间(swap)的当前状态,包括总量、已...
例如,`free -m`以MB为单位显示内存使用情况。当你在监控Oracle数据库服务器时,确保SGA(System Global Area)的大小不超过物理内存的40%,并密切关注交换空间的使用,因为频繁的交换通常意味着内存不足。如果发现...
### Linux命令大全-2024:系统管理与设置篇 #### 1. 信息显示命令 **Linux** 是一种广泛使用的开源操作系统,其强大的功能和灵活性使其成为服务器管理和开发人员首选的操作系统之一。了解如何有效地使用 **Linux**...
- `free`:查看内存使用信息。 - `uname`:显示系统信息。 9. **脚本编程**: - `bash`:Bourne Again SHell,Linux默认的shell,支持脚本编写。 - `if`/`for`/`while`:条件和循环结构。 - `function`:定义...
在Linux操作系统中,`free` 命令是一个非常重要的工具,用于查看系统的内存使用情况。通过这个命令,我们可以了解到系统内存的总体使用状况,包括总内存、已用内存、空闲内存等关键指标。 ##### 1.1 基本命令格式 ...
Linux中的`free`命令是一个非常实用的工具,用于监控系统中的内存使用情况,包括空闲、已用、共享、缓存等各项指标。这个命令对于系统管理员来说是必不可少的,因为它可以帮助他们确保服务器的健康运行,及时发现...
通常,Linux 提供了多种查看内存使用情况的命令,例如 `free`、`top`、`htop` 等,但这些命令只能查看整体的内存使用情况,无法对单个进程的内存使用情况进行查看。 为了解决这个问题,本文提供了一个 shell 脚本,...
`free`命令是Linux系统中一个非常重要的工具,用于报告系统中物理内存、虚拟内存的使用情况。它可以帮助用户了解系统的内存使用状态,判断系统是否存在内存瓶颈等问题。 #### 命令语法 ```sh free [-bkmotV] [-s ...
- **free** - 显示系统内存使用情况。 - **date** - 显示或设置系统日期和时间。 - **cal** - 显示日历。 #### 六、搜索文件 - **which** - 查找可执行程序的位置。 - **find** - 在文件系统中查找文件。 - **where...
4. **free (查看内存使用情况)** - 用途:显示系统的物理内存、虚拟内存使用情况。 - 示例:`free -m` 显示内存使用情况,单位为 MB。 #### 五、网络命令 1. **ping (测试网络连通性)** - 用途:测试到另一台...
19. `free -m`:以MB为单位显示内存使用情况。 20. `uptime`:显示系统运行时间、当前在线用户数以及最近1分钟、5分钟和15分钟的平均负载。 21. `let a=34+3; echo $a`:在shell中执行算术运算。 22. `export`:...
- `free`:查看内存使用情况。 - `dmesg`:显示内核消息,用于诊断硬件问题。 9. **脚本编程**: - `bash`:Linux默认的Shell,支持编写shell脚本进行自动化任务。 10. **文件查找**: - `find`:根据各种条件...
通过深入解析Linux中的`free`命令及其实现原理,我们不仅可以更准确地理解系统内存的实际使用情况,还可以更好地进行性能优化和故障排查等工作。特别是在高负载环境下,合理管理和配置内存资源对于保持系统稳定性和...
3. **free命令**:`free`用来查看系统中的物理内存和交换内存的使用情况。通过分析源码,我们可以看到它是如何读取`/proc/meminfo`文件来获取内存统计数据的,以及如何计算和展示不同类型的内存(如已用、空闲、缓存...
free命令用于显示内存的使用情况,包括总的可以使用的内存、已用内存、空闲内存、缓冲区占用的内存等。free命令的格式为:free [-b-k-m] [-o] [-s delay] [-t] [-V] 其中,-b、-k、-m分别以字节、KB、MB为单位显示...
- 系统监控命令:如free(显示内存使用情况)、df(显示磁盘空间使用情况)、vmstat(显示虚拟内存状态)等,用于监控系统资源的使用情况。 - 系统服务控制命令:如shutdown(关闭系统)、reboot(重启系统)、halt...