首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >虚拟内存存储在硬盘上的哪里?

问虚拟内存存储在硬盘上的哪里?
EN

Unix & Linux用户
提问于 2013-03-26 14:02:53
回答 2查看 7.1K关注 0票数 5

如果进程想要访问不在物理内存中的内存地址,则操作系统将页帧从物理内存外包给硬盘以供以后使用。这个数据/指令存储在硬盘的哪里?

它是否存储在交换分区上?

EN

回答 2

Unix & Linux用户

发布于 2013-03-26 15:25:01

您可以运行swapon -s来查看用于交换的设备和文件。例如,我的科学linux机器说:

代码语言:javascript
复制
[user@sl6.3 ~]$ swapon -s
Filename                Type        Size    Used    Priority
/dev/sda3                               partition   8388600 833408  -1

因此,我使用/dev/sda3 3进行交换。还要注意优先级字段,该字段可用于调整分配交换页的顺序(请参见man 2 swapon)。

正如一些人所说的,如果交换(或零交换)用完,当物理内存不足时,奥姆杀手可能会开始终止进程。

票数 5
EN

Unix & Linux用户

发布于 2013-03-27 01:16:39

进程内存的页可以从RAM移到磁盘上。这被称为交换或寻呼 (术语是本质上同义)。数据被移动到交换空间,并在需要时从交换空间加载。Linux支持分区(和其他块设备)和文件作为交换空间。

如果所讨论的页面包含从文件中加载的数据,那么如果要回收页面,则不会将数据写入交换空间:它只是从RAM中擦除。当进程再次需要该页时,数据将从该文件中加载回来。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/69206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档