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

大内存还需要虚拟内存吗(内存足够大 有必要设虚拟内存 吗)

  • 内存
  • 2023-12-27 03:22:47
  • 2635
8G物理内存还需要设置虚拟内存吗?对于8g的物理内存,还是需要设置虚拟内存。我看到网友反馈,8g内存关闭虚拟内存后,有时会报虚拟内存不足。
不过,虚拟内存是为了防止物理内存不够而设置的,不需要手动设置。只需使用Windows的默认管理即可。微软的推荐值为物理内存的1.5-3倍。只要注意C盘的剩余空间不要小于这个容量就可以了。
虚拟内存也称为虚拟内存(virtual
内存)。计算机中运行的所有程序都需要通过内存来执行。如果执行的程序占用大量内存,就会导致内存耗尽。为了解决这个问题,Windows采用了虚拟内存技术,即分配一部分硬盘空间作为内存使用。当内存耗尽时,电脑会自动调用硬盘充当内存,缓解内存紧张。如果计算机运行程序或操作所需的随机存取存储器(RAM)不足,
Windows
将使用虚拟内存来补偿。它结合了计算机的内存和硬盘驱动器上的临时空间。当RAM运行缓慢时,它将数据从RAM移动到称为“分页文件”的空间中。将数据移入分页文件可以释放内存,以便可以完成工作。
一般来说,计算机的RAM容量越大,程序运行的速度就越快。如果您的计算机速度由于缺乏可用内存空间而变慢,您可以尝试通过增加虚拟内存来弥补。然而,计算机从内存读取数据的速度比从硬盘读取数据的速度要快,因此扩大内存容量(添加内存模块)是最好的选择。

物理内存充足的情况下是否需要禁用虚拟内存问:12G内存。如果是的话,在Win8下是如何工作的?
答:首先纠正一下误区。虚拟内存无法禁用。“虚拟内存”应该指的是分页文件(pagingfile、),它是操作系统转换后在磁盘上存储一些虚拟内存页面的数据。文章比较长,可以直接跳到最后一段看结论。
首先我们看看物理内存里都是什么样的数据,我也有12G内存,物理内存不仅包含各个进程的数据(ProcessPrivate部分),还包含很多预读文件(MappedFiles),你可以使用微软提供的RAMMap来查看这些内容。操作系统会猜测接下来要使用哪些文件,或者您正在运行的进程可以读写哪些文件,然后在您真正需要它们时提前将这些文件读入内存。很快就打开了这些文件。
页面文件不好的一种观点是,页面文件中的数据必须从磁盘读取,而磁盘的读写速度远低于读写的速度。关闭页面文件并强制所有页面保留在内存中以提高性能。这看起来很合乎逻辑,但内存应该只为最需要它的任务保留,特别是如果有一个不活动的进程,你可以完全将页面转移到磁盘,并为更需要它的服务释放内存。函数,或者通过将附加文件映射到内存来提高命中率。微软技术专家MarkRussinovich在一篇博客文章中提到了这一点。
页面文件不好的另一种观点是,页面文件的存在会降低SSD等专用磁盘的使用寿命,因为它们可以读取和写入多个磁盘。微软在Windows7优化(固态硬盘的支持和QA)一文中指出,Windows7针对SSD进行了优化,页面文件的读写操作比例为40:1,其中读操作最多。读操作读取的数据一般比较小,写操作写入的数据比较大,这些设计都考虑到了SSD的寿命。
另外,系统崩溃时生成错误报告依赖于页面文件,禁用页面文件会影响该功能。然而,除了开发人员之外,很少有人知道如何使用错误报告和垃圾,所以忽略这一点。
总而言之,至少在Windows7或更高版本的系统中,无论物理内存有多大,拥有页面文件都是积极且有用的。让Windows自己研究如何更好地调度和管理内存。微软的工程师已经帮我们做到了,至少不会比我们自己的管理差。至于禁用页面文件,当且仅当磁盘空间不足时才可以。

16G的内存还需要设置虚拟内存吗

必填。

手动设置虚拟内存值时,一般参考下的“推荐”值。例如,Plumb兄弟这里推荐的电脑是2931MB,当磁盘空间足够时,可以在“初始大小”中输入这个值,将该值加倍,即2931*2=5862,在“最大大小”中输入5862

一般情况下,C盘的剩余空间都是作为虚拟内存使用的,因此C盘的剩余空间越大,系统运行的越好。虚拟内存是动态变化的随着你的使用情况的变化,使得C盘容易产生磁盘碎片,影响系统运行速度,因此最好将虚拟内存设置在其他分区,比如D盘。

工作原理

虚拟内存由硬件和系统操作系统自动调度和管理,来规划和管理存储信息。

①中央使用的逻辑地址处理器访问主存被分解为组号a和内部地址b,并对组号a进行地址转换。以逻辑组号a作为索引来检查地址转换表并确定信息集是否存储在主存中。

②如组号已经在主存中,则切换执行。如果组号不在主存中,请检查主存中是否有空闲区域。否则,将未使用的临时组转移到辅助存储器,以便可以将这组信息转移到主存储器。

以上内容参考:-虚拟内存

内存足够大就不需要设置虚拟内存了吗由于Windows设计问题,虚拟内存还是需要设置的,否则大规模编程运行时会报错。像我的笔记本电脑,16GBDDR4,500GB三星SSD,就放1024MB吧。但看!对于多硬盘的PC来说,虚拟内存放在安装操作系统的硬盘上,虚拟内存必须放在硬盘的一个分区上,没必要每个分区都放在。它无助于提高系统性能。