当前位置:首页 > 内存 > 正文

linux虚拟内存管理(虚拟内存和物理内存的区别)

  • 内存
  • 2024-05-31 17:19:57
  • 7889

一、linux的虚拟内存机制
Linux是一个免费使用和自由分发的UNIX类型操作系统。它是一个独立且非常强大的系统,拥有众多爱好者。那么今天我们就来了解一下它独特的虚拟内存机制。
[虚拟内存常见问题]
Linux虚拟内存机制:
1.每个进程都有自己独立的4G内存空间,每个进程的内存空间都有类似的结构。Linux内存管理采用页管理,使用多级页表。动态地址转换机制、主存和辅存共同实现虚拟内存。当一个新进程建立时,它会建立自己的内存。这个过程的数据、代码等该进程的进程从磁盘复制到其自己的进程空间。进程控制表中的task_struct记录了
什么数据在哪里。task_struct,记录的内存空间是分配情况,
哪些地址有数据,哪些地址无数据,哪些可读,哪些可写,都可以通过这个链表来记录内存。每个进程分配的空间都可以映射到相应的磁盘空间。
2。每个程序都可以看到一个完整的、连续的地址空间。这些空间不直接链接到物理内存。相反,操作系统提供了内存的抽象概念,使得每个进程连续且完整。地址空间,程序执行过程中,完成虚拟地址到物理地址的转换。
我们还知道,进程的地址空间是分段的,有数据段、代码段、bbs段、堆、栈等。每个部分都有特定的作用。
同时,计算机的内存并不多(n个进程必须对应n*4G的内存,创建进程必须将磁盘上的程序文件复制到对应的内存中)。process
Forone当程序对应多个进程时,内存就被浪费了。
3。每个进程的4G内存空间只是虚拟内存空间。每次访问内存空间中的某个地址时,都必须将该地址转换为实际的物理地址。所有进程共享相同的物理内存。
每个进程只将自己当前需要的虚拟内存空间映射并存储在物理内存中。进程必须知道内存地址处哪些数据在物理内存中,哪些数据不在物理内存中,以及它们位于何处。在物理内存中。
需要页表记录。表中的每个条目分为两部分。第一部分记录该页是否在物理内存中。第二部分记录访问时的物理内存地址。虚拟地址,
检查页表。如果物理内存中没有相应的数据,则处理缺页异常的过程涉及到将进程所需的数据从磁盘复制到物理内存中。
如果内存已满并且没有空空间,则找一个页来覆盖它,当然,如果覆盖的页已被修改,则必须将此页写回磁盘。
4。每个进程的内存空间是一致且固定的,因此链接器可以在链接执行文件时设置内存地址,而不必担心数据的最终实际内存地址。具有独立内存空间的优点。当不同的进程使用相同的代码时,例如库文件中的代码,物理内存中只能存储该代码的一份副本。
不同的进程只需要映射自己的虚拟一份即可。以前,节省内存就够了。当程序需要分配连续的内存空间时,只是在虚拟内存空间中分配连续的空间,而不需要实际物理内存中的连续空间或碎片。可以使用。
以上就是为大家介绍的Linux虚拟内存机制的全部内容,希望大家能够喜欢。
二、8g的虚拟内存怎么设置win10很多人还不知道8G虚拟内存的最佳设置方法以及Win10如何最好地设置8G虚拟内存。今天我就为大家解答以上问题,现在就让我们一起来看看吧!
1.最合理、常用的设置是:最小设置可以是512M或1024M,最大设置约为物理内存的1.5倍,即1024*8*1.5=12288M。
2.如果win10系统是32位的话,只支持3.2G,虚拟内存设置为4800;如果是64位则支持3.2GB以上内存,默认内存设置为12000。
3.虚拟内存一般设置为物理内存的1.5倍。
4.扩展信息虚拟内存是一种管理计算机系统内存的技术。
5.它使应用程序认为它具有可用的持久内存(完整的、连续的地址空间),但实际上它被划分为多块物理内存,其中一些物理内存缓存在外部磁盘存储上,并在需要时交换数据。
6.现在大多数操作系统都使用虚拟内存,比如Windows家族的“虚拟内存”;
7.如果Windows8/8.1在启动时卡在Windows徽标页而无法进入系统,必须强制关闭并重新启动才能启动,则将设置默认内存设置。可以适当修改来解决问题。
8.手动设置最合适的虚拟内存大小范围值后,①右键单击桌面上的“我的电脑”图标,在出现的右键菜单中选择“属性”选项,打开“系统属性”窗口。
9.单击窗口中的“高级”选项卡,将出现“高级设置”对话框。②单击“性能”区域中的“设置”按钮,然后在“性能”框中选择“高级”选项卡,将出现“选项”窗口。
10.在此对话框中,可以看到虚拟内存区域,点击“更改”按钮,进入“虚拟内存”大空闲空间设置窗口,选中“自定义大小”前面的复选框。”,在“初始大小”和“最大值”栏中填写指定的值,然后单击“设置→确定”按钮,最后重新启动计算机以激活内存设置默认值。
12.参考:-虚拟内存。
这篇文章就分享到这里了,希望对大家有用。