free命令详解
free的命令详解
free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区。
语法
free [选项]
选项
-b | 以Byte为单位显示内存的使用情况 |
---|---|
-k | 以KB为单位显示内存的使用情况 |
-m | 以MB为单位显示内存的使用情况 |
-o | 隐藏缓冲区调节列 |
-s 间隔秒数 | 持续观察内存使用状况 |
-t | 显示内存的总和列 |
-V |
显示版本信息 |
注意:Red Hat Enterprice Linux 6.7加入-h用于使用习惯单位显示。
第一行的解释
total | 内存总数 |
---|---|
used | 已经使用的内存数 |
free | 空闲的内存数 |
shared | 当前已经废弃不用 |
buffers | 缓冲的内存数 |
cached | 缓存的内存数 |
关系是total=used+free。
第二行的解释
-buffers/cache是指used的内存数:第一部分Mem行中的used-buffers-cached;
+buffers/cache是指free的内存数:第一部分Mem行中的free+buffers+cached。
可见-buffers/cache反映的是被程序实实在在吃掉的内存数,而+buffers/cache反映的是可以挪用的内存数。
第三行的解释
交换分区总数,已经使用,空余空间。
清空缓存
echo 3>/proc/sys/vm/drop_caches //生产环境不要用,仅限实验
补充:
缓冲和缓存的区别
buffers写入缓冲区,需要存入磁盘的数据先写入缓冲区,达到一定量的时候再一次性写入磁盘,提高性能
cached读取缓存区,将需求频繁的数据放入缓存区给外界提供数据,提高访问速度,两者都使用内存
好记性不如烂笔头,最难不过坚持
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了