《Linux内核技术实战课》总结一:PageCache

本文介绍了Linux内核中的Page Cache管理,包括其产生、回收和问题排查。当Page Cache难以回收时,可能导致load飙高,解决方案包括提前触发后台回收。而Page Cache容易回收可能影响业务性能,可通过mlock或memory cgroup保护重要数据。通过sar等工具可判断问题是否由PageCache引起。
摘要由CSDN通过智能技术生成

总览

Page Cache:内核管理的内存

场景:服务器的 load 飙高; 服务器的 I/O 吞吐飙高; 业务响应时延出现大的毛刺; 业务平均访问时延明显增加

应用程序产生Page Cache的逻辑示意图,是在应用程序读写文件的过程中产生的
在这里插入图片描述

产生,即被分配:有两种方式
1 标准 I/O 是写的 (write) 用户缓冲区 (Userpace Page 对应的内存),然后再将用户缓冲区里的数据拷贝到内核缓冲区 (Pagecache Page 对应的内存);如果是读的 (read) 话则 是先从内核缓冲区拷贝到用户缓冲区,再从用户缓冲区读数据,也就是 buffer 和文件内容不存在任何映射关系
2 存储映射 I/O 而言是直接将 Pagecache Page 给映射到用户地址空间,用户直接读写 Pagecache Page 中内容。
在这里插入图片描述
产生例子:首先往用户缓冲区 buffer( Userspace Page) 写入数据, 然后 buffer 中的数据拷贝到内核缓冲区(Pagecache Page),如果内核缓冲区中还没有这个 Page,就会发生 Page Fault 会去分配一个 Page,拷贝结束后该 Pagecache Page 是一个 Dirty Page(脏页),然后该

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值