专栏首页linjinhe的专栏Linux常用命令:free

Linux常用命令:free

常用

free
free -k    # 以KB为单位
free -m   # 以MB为单位   
free -g    # 以GB为单位
free -h    # 人类可读

输出

total

used

free

shared

buffers

cached

Mem

3856200

3321044

535156

251096

232084

1406376

-/+ buffers/cache

1682584

2173616

Swap

3999740

482480

3517260

  • total = used + free
  • shared: 共享内存
  • buffers: Buffer Cache
  • cached: Page cache
  • Mem是从OS的角度看物理内存的使用量:
    • total - 共有3856200KB内存
    • used - 已经使用3321044KB内存
    • free - 剩下535156KB内存
    • shared - 251096KB被用于共享内存
    • buffers - 232084KB被OS的buffers cache系统占用
    • cached - 1406376KB被OS的page cache系统占用
  • -/+buffer/cache这一行是从应用程序的角度看物理内存的使用量:
    • used - 应用程序已经使用1682584KB内存。** 其值为Mem那一行: used - buffers - cached **。
    • free - 还剩下2173616KB内存。**其值为Mem那一行:free + buffers + cached **
  • Swap描述了虚拟内存的使用情况。

buffer和cache

  • 这里的buffer是Linux内存的:Buffer Cache(缓冲区缓存)
  • 这里的cache是Linux内存的:Page Cache(页面缓存)
  • Buffer Cache和Page Cache是Linux内核中的两套缓存系统。
  • Page Cache就是针对内存页的缓存。如果有内存是以page进行分配管理的,都可以使用Page Cache作为其缓存来管理使用。
  • 在Linux内核中不是所有的内存都是以页(page)进行管理的,也有很多是针对块(block)进行管理的,这部分内存使用如果要用到cache功能,则都集中到buffer cache中来使用。在一个系统中,page的大小的固定的,一般是4KB或8KB,但是block的大小则是取决于块设备。
  • 至于”buffer和cache有什么区别”,我觉得就不要太过纠结了,具体问题具体分析。 (完)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • LevelDB 完全解析(5):Cache

    在 LevelDB 中,block cache 和 table cache 都是基于 ShardedLRUCache 实现的。

    linjinhe
  • LevelDB 完全解析(2):Log

    这里的 log 是指 Write Ahead Log。前面说了,LevelDB 写入的数据会先保存到 MemTable。为了防止宕机导致数据丢失,在将数据写入 ...

    linjinhe
  • LevelDB 完全解析(1):MemTable

    MemTable,顾名思议,就是内存表。每个 LevelDB 实例最多会维护两个 MemTable: mem_ 和 imm_。mem_ 可以读写,imm_ 只读...

    linjinhe
  • NSArray 排序方法的实现

    Compare method Either you implement a compare-method for your object: -(NSCompar...

    阿新
  • java 算法中常见的问题总结1(代码实现,不包含逻辑)

    详情参考  http://www.cnblogs.com/nayitian/p/3214178.html

    lin_zone
  • 深度学习中的软注意力分析及代码

    用户1908973
  • 如何在 asp.net core 3.x 的 startup.cs 文件中获取注入的服务

    从 18 年开始接触 .NET Core 开始,在私底下、工作中也开始慢慢从传统的 mvc 前后端一把梭,开始转向 web api + vue,之前自己有个半成...

    程序员宇说
  • 看不懂的 build.gradle 代码

    Android Studio 这么强大的工具,就算我们不懂 gradle, groovy, 也照样能借助AS对 Android 项目进行编译、调试、运行、打包等...

    请叫我大苏
  • 手把手教你申请腾讯云免费SSL证书

    SSL证书和我们日常用的身份证类似,是一个支持HTTPS网站的身份证明,SSL证书里面包含了网站的域名,证书有效期,证书的颁发机构以及用于加密传输密码的公钥等信...

    追梦者
  • Android App 优化之ANR详解

    ANR全名Application Not Responding, 也就是"应用无响应". 当操作在一段时间内系统无法处理时, 系统层面会弹出上图那样的ANR对话...

    用户1269200

扫码关注云+社区

领取腾讯云代金券