社区
Linux_Kernel
帖子详情
linux下换出到swap area中的某一页,某一时刻被换入内存后,以后还有可能被再次换入吗?
Hi'cary
2015-08-20 04:08:38
如题。系统用swap_map映射swap arae中每个page的进程引用数量。
如果页面A进程引用数是5,A换入内存后,swap area中存放的A以后还有可能被读取(换入)到内存中吗?
...全文
119
2
打赏
收藏
linux下换出到swap area中的某一页,某一时刻被换入内存后,以后还有可能被再次换入吗?
如题。系统用swap_map映射swap arae中每个page的进程引用数量。 如果页面A进程引用数是5,A换入内存后,swap area中存放的A以后还有可能被读取(换入)到内存中吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Hi'cary
2015-08-20
打赏
举报
回复
页换入内存时,会调用do_swap_page()函数,该函数会进行一系列处理, 其中一步是调用swap_free(),swap_free()内部调用swap_entry_free()减少entry对应的页槽引用计数,即减少进程引用。 如果计数变为0,表示该页槽为空,以便以后写入。 因此,如果一个进程需要swap area中的页面A,A被换入内存。而对应页槽引用计数count并不为0,其他进程需要页面A,而页面A不在swap cache时,仍然会请求从swap area中换入页面A。
Hi'cary
2015-08-20
打赏
举报
回复
提交时显示网页错误,结果提交几次都成功了,我的 积分。。。。。
Linux
虚拟
内存
管理 -
Swap
Management(交换管理)
Swap
Management(交换管理)
Linux
所维护的每个活动交换区的结构以及如何在磁盘上组织交换区信息
Linux
如何在页面换出后的交换区定位该页,以及如何分配交换槽 交换高速缓存(
swap
cache) 如何激活和禁止交换区,
内存
的页面如何换出道交换区又如何
换入
到
内存
,以及如何读写交换区 1、描述交换区 每一个活跃的交换区,无论是一个文件或是一个分区,都由
swap
_info_struct结构描述。系统
中
该结构存储在一个静态声明的
swap
_info数组
中
,它有MAX_AWAPFILES(一般被
Linux
系统交换(
swap
)机制实现原理以及OOM测试
综上,可以
swap
出去的页面包含匿名页和共享页,除此之外,不支持
swap
到磁盘交换分区或者
swap
文件。所以可以看出,对于
内存
回收来说,文件cache的回收和匿名页面的回收是同一个路径,没有区别,只有到具体的承载后台时候,这也是为何开始一致寻找
swap
处理的“特殊路径”求而不得的原因,原因就是这个特殊路径不存在,
swap
处理也没有什么特殊的,"特殊"的部分仅仅是
swap
_aops的实现,这部分一开始我就找到了。匿名页面是如何来的?
linux
中
swap
的权限,有关
Linux
Swap
前言
Linux
将物理
内存
划分为
内存
页(分页)。交换是将
一页
内存
数据复制到硬盘
中
的预设空间(交换区),用以释放该页
内存
。物理
内存
和交换区的总大小便是虚拟
内存
可用总量。 —— All about
Linux
swap
space看到上述有关交换区的概念大家
可能
会有些混淆,这里简单介绍一下。虚拟
内存
是一种
内存
管理技术,它把程序使用的
内存
地址(虚拟地址)映射为计算机
内存
中
的物理地址。虚拟
内存
有几个优点:...
Linux
源码剖析——
内存
交换
最简单的方法就是把
内存
页放进一个队列里, 如果
内存
页被访问了, 就把
内存
页移动到链表的头部, 这样没被访问的
内存
页在一段时间后便会移动到队列的尾部, 而释放
内存
页时从链表的尾部开始. 著名的缓存服务器。的功能 -- 把某些进程的一些暂时用不到的
内存
页保存到磁盘
中
, 然后把物理
内存
页分配给更紧急的用户使用, 当进程用到时再从磁盘读回到
内存
中
即可. 有了。如果在这个过程
中
,
内存
页又被访问了, 那么
Linux
内核会把
内存
页移动到活跃链表
中
, 并且建立
内存
映射关系, 这样就不需要从磁盘
中
读取
内存
页的内容.
Linux
内存
状态监测工具smem命令 | 如何在#
linux
OS下找到特定进程的交换(
swap
)空间使用情况?
Linux
内存
状态监测工具smem命令 | 如何在#
linux
OS下找到特定进程的交换(
swap
)空间使用情况?
Linux_Kernel
4,438
社区成员
17,460
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章