源码基于:Linux5.4

0. 前言

在 LRU简介 一文和 LRU 第二次机会法 一文中,提到当内存出现紧张的时候,会将 inactive list 尾部的 page 进行换出,从而将page 释放回buddy free list中(如果有引用则会给第二次机会)。

换入和换出的概念:

  • 换出(swap-out),把进程暂时不用的内存数据(anon page)存储到磁盘中,并释放这些数据占用的内存。
  • 换入(swap-in),进程再次访问这些内存时,将数据从磁盘中读到内存中

Linux 内核中触发页面回收的机制大致分为 3 种:

  • 直接页面回收机制
  • 周期性回收内存机制
  • slab 收割机

本文主要简单介绍下这三种页面回收机制,然后详细分析下周期性回收内存机制中的内核线程 kswapd,后面在分析页面回收真正处理过程的时候,再结合直接页面回收slab 收割机两种机制补充说

Linux内存管理(三十九):页面回收简介和 kswapd详解(1)相关推荐

  1. 深度学习之图像分类(十九)-- Bottleneck Transformer(BoTNet)网络详解

    深度学习之图像分类(十九)Bottleneck Transformer(BoTNet)网络详解 目录 深度学习之图像分类(十九)Bottleneck Transformer(BoTNet)网络详解 1 ...

  2. linux内存管理(十一)-页回收总览

    随着linux系统不断分配内存,当系统内存压力越来越大时,就会对系统的每个压力大的zone进程内存回收,内存回收主要是针对匿名页和文件页进行的.对于匿名页,内存回收过程中会筛选出一些不经常使用的匿名页 ...

  3. Linux内存管理 (4)分配物理页面

    专题:Linux内存管理专题 关键词:分配掩码.伙伴系统.水位(watermark).空闲伙伴块合并. 我们知道Linux内存管理是以页为单位进行的,对内存的管理是通过伙伴系统进行. 从Linux内存 ...

  4. 高端内存映射之kmap持久内核映射--Linux内存管理(二十)

    日期 内核版本 架构 作者 GitHub CSDN 2016-09-29 Linux-4.7 X86 & arm gatieme LinuxDeviceDrivers Linux内存管理 在内 ...

  5. linux内存管理(十二)-直接页面回收

    在慢速回收路径中,首先是启动异步回收,异步回收失败后,就是下面准备讲解的内存直接回收了.直接页面回收过程分析,函数入口为__alloc_pages_direct_reclaim,函数位于mm/page ...

  6. linux内存管理(十四)-内存OOM触发分析

    在内存分配路径上,当内存不足的时候会触发kswapd.或者内存规整,极端情况会触发OOM,来获取更多内存. 在内存回收失败之后,会进行OOM,OOM的入口是__alloc_pages_may_oom, ...

  7. linux内存管理(十)-页表管理

    页表管理方法 之前也讲过页表的结构,现在更加详细的讲解一下,页表最主要的作用就是将虚拟地址转化为物理地址,其实他还有两个作用,一个是管理cpu对物理页的访问权限(读写执行权限),另一个是隔离各个进程的 ...

  8. Linux内存管理(十六):buddy 系统分配器前篇

    源码基于:Linux5.4 0. 前言 在上一文 buddy 系统 中,简单介绍了 buddy 系统的初始化过程以及其原理.我们知道 buddy 系统是操作系统中常用的一种动态存储管理方法,在用户提出 ...

  9. Linux内存管理(三):“看见”物理内存

    本文基于linux kernel 5.8,平台是arm64 上文介绍了armv8的地址转换过程,介绍了MMU,页表,内存属性的一些概念. 现在正是开始内核内存管理的探索! 第一步就是要"看见 ...

最新文章

  1. UVa 389 Basically Speaking
  2. win7下查找端口,使用netstat命令注意事项
  3. mysql密码过期问题
  4. ES10新特性_字符串扩展方法_trimStart--trimEnd---JavaScript_ECMAScript_ES6-ES11新特性工作笔记058
  5. 不用于mysql权限管理的24260_[MySQL Reference Manual] 24 MySQL sys框架
  6. Spring AOP 本质(1)
  7. 山大网络计算机基础知识模拟,山大网络教育计算机系统结构模拟试卷1
  8. Android反编译——jadx工具
  9. 计算机信息网络安全保护管理条例,中华人民共和国计算机信息系统安全保护条例...
  10. c语言中e的n次方怎么打,C语言中N次方怎么打
  11. 积分商城消费系统定制
  12. 听老外吐槽框架设计,Why I Hate Frameworks?
  13. Gartner发布2021年新兴技术成熟度曲线,三大新兴技术趋势主题
  14. 台式电脑插入耳机听不到声音,排除耳机问题
  15. TextCNN——基于卷积神经网络的文本分类学习
  16. Pytorch | 报错The given NumPy array is not writeable,and PyTorch does not support non-writeable tensor
  17. 27. OP-TEE驱动篇----libteec接口在驱动中的实现
  18. 一款可以颠覆做网站方式的软件
  19. RecyclerView布局中解决edittext监听错乱
  20. 图形学笔记(三)画一个彩色的三角形

热门文章

  1. 【Java】图像透明渐变融合
  2. 中秋福利 | 漂亮的React后台源码真情大放送
  3. 计算机在化学中的应用答案,《计算机在化学中的应用》试卷及答案.doc
  4. 细数《Sizeable》中场景交互的梦境灵感
  5. ML之FE:特征工程/数据预处理中的数据异常值的概述、检测方法、处理方法技巧总结之详细攻略
  6. mybatis choose标签的用法
  7. python画图颜色代码_关于matplotlib:Python:制作从红色到蓝色的颜色条
  8. [linux应用编程]找寻目录中所有的文件
  9. 推荐几款实用的软件给你
  10. 图像语义分割快速入门--keras代码示例-----基于tensorflow2.x-----看完就会系列!!!!