开发者社区> 问答> 正文

linux 内存中的cached过大

linux 内存中的cached过大

展开
收起
我的中国 2017-11-30 18:45:55 2089 0
2 条回答
写回答
取消 提交回答
  • 除非是dirty部分很多否则没关系

    2019-07-17 21:46:44
    赞同 展开评论 打赏
  • R&S网络资深工程师 ,阿里云论坛官方版主,阿里云云计算ACP,春考教学网站长,IT技术晋级之路专辑作者

    哪里有过大?cached 和 buffers 占据 available 部分中的绝大部分是正常的。你说你的内存,free 着就是什么用处都没有,但你以为那些部分就不需要通电、刷新吗?

    cached 通常属于 available 部分(该数据 3.14 内核之后提供,procps-ng 较新版本也显示),也就是可用内存。什么时候程序需要了,什么时候拿去用。暂时不需要?那我从磁盘那个慢到死的家伙里好不容易读出来的数据先留着,指不定用户还要用到呢。

    有兴趣可以 echo 3 到那什么文件/proc/sys/vm/drop_caches清空一下这些部分,然后 ls /usr/lib 试试。然后立即再执行一次,是不是有缓存之后就快多了?

    至于 sync 命令。它和 cached 有关,但是不是你所想的那个功能。它的功能是,把脏页写回磁盘,也就是把修改过的数据还没写到磁盘的数据写到磁盘上。因为内核会延迟提交,每次提交多积累一些数据,以提高效率、降低延迟。没有使用的必要,只会让系统卡一下而已。**加粗文字加粗文字

    2019-07-17 21:46:44
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 技术揭秘 立即下载
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载