当前位置: 首页 > news >正文

Linux Swap机制关键点分析

1. page被swap出去之后,再次缺页是怎么找到找个换出的页面?
正常内存的页面是通过pte映射找到page的,swap出去的page有其特殊的方式:swap的页面page->private字段保存的是:swap_entry_t通过swap_entry_t就能找到该页面的扇区号sector_t,拿到扇区号就可以从块设备中读回page的内容,那么具体怎么从swap_entry_t找到扇区号呢:

由上图可以计算出来offset和type值,offset值得含义是对应swap_map的slot编号,type可以代表是哪个swap分区,那么根据这两个值就可以计算出扇区号:

具体查找扇区号的源码:swapfile.c:swap_page_sector:

sector_t swap_page_sector(struct page *page)                                                                                                   
{struct swap_info_struct *sis = page_swap_info(page);struct swap_extent *se;sector_t sector;pgo

相关文章:

  • Java对应C++ STL的用法
  • Spring Boot中的国际化(i18n)实现技巧
  • 手机取证基础知识(一)
  • DigitalOcean Droplet 云主机新增内置第五代 Xeon CPU 机型
  • Kafka入门-基础概念及参数
  • C#学习系列之DataGrid无故添加空行
  • springcould-config git源情况下报错app仓库找不到
  • Python功能制作之使用streamlit做一个简单的WebUI
  • 速盾:ddos高防ip是什么?
  • 基于Web技术的教育辅助系统设计与实现(SpringBoot MySQL)+文档
  • Docker入门指南:构建、部署与管理容器化应用
  • 打卡第二十七天 455分发饼干 376摆动序列
  • Mac如何杀毒?Mac电脑如何杀毒 mac杀毒软件推荐 mac杀毒软件哪个好用
  • 运维锅总浅析云原生DevOps工具
  • 华为od-C卷200分题目4 -电脑病毒感染
  • 【译】理解JavaScript:new 关键字
  • android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码...
  • Fundebug计费标准解释:事件数是如何定义的?
  • Linux下的乱码问题
  • React-flux杂记
  • Zepto.js源码学习之二
  • 百度地图API标注+时间轴组件
  • 分布式熔断降级平台aegis
  • 技术发展面试
  • 开发基于以太坊智能合约的DApp
  • 老板让我十分钟上手nx-admin
  • 目录与文件属性:编写ls
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 事件委托的小应用
  • 微信开放平台全网发布【失败】的几点排查方法
  • 我的业余项目总结
  • 用element的upload组件实现多图片上传和压缩
  • ​sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块​
  • ​比特币大跌的 2 个原因
  • #if #elif #endif
  • $(selector).each()和$.each()的区别
  • (附源码)springboot美食分享系统 毕业设计 612231
  • (学习日记)2024.02.29:UCOSIII第二节
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • (转)关于多人操作数据的处理策略
  • .net core 使用js,.net core 使用javascript,在.net core项目中怎么使用javascript
  • .NET Framework 服务实现监控可观测性最佳实践
  • .NET Micro Framework初体验
  • .NET 程序如何获取图片的宽高(框架自带多种方法的不同性能)
  • .NET 设计模式初探
  • .net连接oracle数据库
  • @Async注解的坑,小心
  • @ConditionalOnProperty注解使用说明
  • @EnableConfigurationProperties注解使用
  • [ Linux 长征路第二篇] 基本指令head,tail,date,cal,find,grep,zip,tar,bc,unname
  • [1127]图形打印 sdutOJ
  • [20160902]rm -rf的惨案.txt
  • [240527] 谷歌 CEO 承认 AI 编造虚假信息问题难解(此文使用 @gemini 命令二次创作)| ICQ 停止运作
  • [30期] 我的学习方法
  • [C#]winform制作仪表盘好用的表盘控件和使用方法