请选择 进入手机版 | 继续访问电脑版
海马玩模拟器用户群:369149979

海马玩论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 14507|回复: 0

合理设置虚拟内存的页面文件,提升模拟器稳定性

 关闭 [复制链接]
  • TA的每日心情

    2018-5-25 08:40
  • 签到天数: 458 天

    [LV.9]以坛为家II

    163

    主题

    8208

    帖子

    11万

    积分

    超级版主

    Rank: 8Rank: 8

    积分
    113320
    发表于 2015-10-27 22:48:10 | 显示全部楼层 |阅读模式
    本帖最后由 极品小猫 于 2015-11-6 13:27 编辑

    页面文件.png

    进入高级设置方法:“计算机”→右键“属性”→高级系统设置

    C盘空间足够的建议不要更换页面文件所在分区,且使用自动管理功能,
    如果C盘空间比较有限的,可以更改所在分区,自定义大小最大值推荐:实际内存大小*3
    合理设置虚拟内存可以提升电脑性能


    科普(以下为转文)

    很多人认为页面文件就是虚拟内存,在设置里把页面文件关闭掉,就等于关闭了虚拟内存。
    这是错的!!

    虚拟内存=页面文件+物理内存
    关闭页面文件只是改变了一部分虚拟内存,和所谓关闭虚拟内存差了十万八千里。

    从NT开始,普通的应用程序已经无法直接访问物理内存,只能访问虚拟内存,再由CPU将虚拟内存地址转换为物理内存地址。所以你开的软件、玩的游戏,访问的都是虚拟内存。

    换个说法,普通程序能访问的内存,一定是虚拟内存。所以说,虚拟内存你根本关闭不掉。不可能因为你关闭了页面文件,直接改变windows的内存管理机制。
    -------------------------------------------------------------------
    下面转自微软关于虚拟地址空间的说明。

    当处理器读或写入内存位置时,它会使用虚拟地址。作为读或写操作的一部分,处理器将虚拟地址转换为物理地址。通过虚拟地址访问内存有以下优势:

    程序可以使用一系列相邻的虚拟地址来访问物理内存中不相邻的大内存缓冲区。

    程序可以使用一系列虚拟地址来访问大于可用物理内存的内存缓冲区。当物理内存的供应量变小时,内存管理器会将物理内存页(通常大小为 4 KB)保存到磁盘文件。数据或代码页会根据需要在物理内存与磁盘之间移动。

    不同进程使用的虚拟地址彼此隔离。一个进程中的代码无法更改正在由另一进程使用的物理内存。

    进程可用的虚拟地址范围称为该进程的“虚拟地址空间”。每个用户模式进程都有其各自的专用虚拟地址空间。 对于 32 位进程,虚拟地址空间通常为 2 GB,范围从 0x00000000 至 0x7FFFFFFF。对于 64 位进程,虚拟地址空间为 8 TB,范围从 0x000'00000000 至 0x7FF'FFFFFFFF。一系列虚拟地址有时称为一系列“虚拟内存”。

    此图说明了虚拟地址空间的一些重要功能。

    pic1.png
    该图显示了两个 64 位进程的虚拟地址空间:Notepad.exe 和 MyApp.exe。每个进程都有其各自的虚拟地址空间,范围从 0x000'0000000 至 0x7FF'FFFFFFFF。每个阴影框都表示虚拟内存或物理内存的一个页面(大小为 4 KB)。注意,Notepad 进程使用从 0x7F7'93950000 开始的虚拟地址的三个相邻页面。但虚拟地址的这三个相邻页面会映射到物理内存中的非相邻页面。而且还注意,两个进程都使用从 0x7F7'93950000 开始的虚拟内存页面,但这些虚拟页面都映射到物理内存的不同页面。

    用户空间和系统空间

    诸如 Notepad.exe 和 MyApp.exe 的进程在用户模式下运行。核心操作系统组件和多个驱动程序在更有特权的内核模式下运行。有关处理器模式的详细信息,请参阅用户模式和内核模式。每个用户模式进程都有其各自的专用虚拟地址空间,但在内核模式下运行的所有代码都共享称为“系统空间”的单个虚拟地址空间。当前用户模式进程的虚拟地址空间称为“用户空间”。

    在 32 位 Windows 中,可用的虚拟地址空间共计为 2^32 字节(4 GB)。通常较下的 2 GB 用于用户空间,较上的 2 GB 用于系统空间。

    pic2.png
    在 32 位 Windows 中,你可以指定(在启动时)超过 2 GB 用于用户空间。结果是系统空间可用的虚拟地址更少。可以将用户空间的大小增至 3 GB,在这种情形下系统空间仅有 1 GB。若要增大用户空间的大小,请使用 BCDEdit /set increaseuserva。

    在 64 位 Windows 中,虚拟地址空间的理论大小为 2^64 字节(16 百亿亿字节),但实际上仅使用 16 百亿亿字节范围的一小部分。范围从 0x000'00000000 至 0x7FF'FFFFFFFF 的 8 TB 用于用户空间,范围从 0xFFFF0800'00000000 至 0xFFFFFFFF'FFFFFFFF 的 248 TB 的部分用于系统空间。

    pic3.png
    用户模式下运行的代码可以访问用户空间,但不能访问系统空间。此限制可防止用户模式代码读或更改受保护的操作系统数据结构。内核模式下运行的代码既可以访问用户空间,也可以访问系统空间。即,在内核模式下运行的代码可以访问系统空间和当前用户模式进程的虚拟地址空间。

    在内核模式下运行的驱动程序必须在直接从用户空间地址中读取或写入这些地址时非常小心。此方案说明了原因。

    用户模式程序发起从设备读取某些数据的请求。程序提供缓冲区的起始地址以接收数据。

    在内核模式下运行的设备驱动程序例程启动读取操作并将控制权返回到其调用程序。

    然后,设备中断了当前运行的任何线程以显示读取操作完成。 中断由在此任意线程上运行的内核模式驱动程序例程进行处理,该例程属于任意进程。

    此时,驱动程序不得将数据写入用户模式程序在步骤 1 中提供的开始地址。此地址位于发起请求的进程的虚拟地址空间,该进程可能很大程度上不同于当前进程。
    页面缓冲池和非页面缓冲池

    在用户空间中,所有物理内存页面都可以根据需要进行分页至磁盘文件。在系统空间中,某些物理页面可以分页,而其他页面不能。系统空间具有用于动态分配内存的两个区域:页面缓冲池和非页面缓冲池。在 64 位 Windows 中,页面缓冲池为 128 GB 的虚拟地址,范围从 0xFFFFA800'00000000 至 0xFFFFA81F'FFFFFFFF。非页面缓冲池为 128 GB 的虚拟地址,范围从 0xFFFFAC00'00000000 至 0xFFFFAC1F'FFFFFFFF。

    在页面缓存池中分配的内存可以根据需要分页至磁盘文件。在非页面缓冲池中分配的内存永远无法分页至磁盘文件。
    pic4.png
    本人为个人用户,非官方人员。本人的所有言论仅代表个人不代表海马玩官方
    官方QQ群:369149979,点击链接加入Q群:http://jq.qq.com/?_wv=1027&k=UFgodJ
    回复

    使用道具 举报

    *滑动验证:
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回列表

    Copyright@2013-2014 DROID4X Technologies.All Rights Reserved

    DROID4X版权所有

    快速回复 返回顶部 返回列表
    aaaaaaaaaaaaaaaaaaa