zoukankan      html  css  js  c++  java
  • Linux命令之free

    free命令

    [root@node8 ~]# free -h
                  total        used        free      shared  buff/cache   available
    Mem:            31G        9.7G         12G        3.5M        9.4G         20G
    Swap:            0B          0B          0B
    

      

    total:表示 总计物理内存的大小。used+free+buff/cache

    used:表示 已使用多少。

    free:表示 可用内存多少。

    Shared:表示多个进程共享的内存总额。

    Buffers/cached:表示 磁盘缓存的大小。

     

    buffer比较小:buffer cache,即缓存经常访问块设备的元数据

    cache比较大: page cache,即缓存文件内容+slab。slab也分可回收和不可回收部分,可手动回收,但是会在回收缓存这段时间影响主机性能,并且不是有所的可回收slab和page cache都能被回收,正在使用的这些缓存不能被回收,否则系统的性能会很低,所以最后可能的内存是多少,就得评估能够回收的有多少,就有了下面这个参数

    available: 是一个估计值,比较准确

     

    • 注意

    top和free看的结果一致;

    free命令中used的结果,不包含buffer/cache

    旧版本的free命令才有:-/+ buffers/cache,新版的加入了available参数

     

    • 参考链接

    free(1) - Linux manual page

     


    vfs中各种cache的解释

    • page cache

    结合了虚拟内存和文件数据,将读取的文件数据缓存在虚拟内存,以便下次读取相同的内容时,直接从内存读取,加快数据访问速度

    • inode cache

    保存最近访问的文件i-odes

    • buffer cache

    buffer和块设备交互,缓存最近使用的磁盘块元数据,所以一般很小

    Linux内核通过buffer cache读取文件数据,但是缓存到page cache中,以便再次使用

    • directory cache

    在内存中是一个树状结构,代表文件系统目录结构的一部分,其将会文件路径映射为inode并加速文件路径名的查找,就像dns的作用,根据域名找ip,directory cache的基本元素是d-entry

     

    • 参考链接

    https://zhuanlan.zhihu.com/p/250300261


    slab

    Linux内存管理模式,页式管理适合于大块内存的情形,而对于内核对象级别的较小内存情形下,不足以占用1个页。就用slab,lab一般对应1个或者多个页,slab里面存储一个个对象。

     

    • 参考链接

     

    清除缓存

    echo 3 > /proc/sys/vm/drop_caches
  • 相关阅读:
    树莓派远程监控的实现
    frp内网渗透实现ssh外网访问家里树莓派(树莓派raspbian系统+腾讯云contos7)
    Linux下远程连接断开后如何让程序继续运行
    windows 远程连接登录树莓派桌面
    树莓派设置frpc开机启动
    树莓派 raspbian Linux 系统命令行 快捷键
    MyBatis如何防止SQL注入
    Apache POI导出excel表格
    SpringBoot文件上传
    SpringBoot整合定时任务
  • 原文地址:https://www.cnblogs.com/xiaobug/p/14595798.html
Copyright © 2011-2022 走看看