不要关闭虚拟内存! ? !

2024-04-09 -

内存是用来做什么的?

当计算机程序运行时,临时数据被放置在内存中。 如果内存太小,应用程序没有足够的空间放置临时数据,从而导致应用程序崩溃。 典型的内存不足错误如下:

虚拟内存——是假的吗?

为了节省购买内存的成本,用最小的内存做最多的事情(压榨资本?),计算机科学家发明了虚拟内存,进一步提高内存利用率。

在现代操作系统中,内存的使用可以简化为三个步骤:“申请——使用——释放”。

科学家发现,很多程序在申请了一定大的内存空间后,并没有立即使用所有申请的空间; 或者很多应用程序使用了一定的内存空间,然后很长一段时间不再使用该内存; 更糟。 很多开发者会刻意申请过多的内存空间,以保证程序的正常运行。 这些不活动的内存占用了非常宝贵的计算机内存空间。 因此,操作系统将这部分不活动内存提取出来,暂时放入硬盘中临时存储,称之为虚拟内存。 当应用程序使用虚拟内存中的数据时,操作系统会从硬盘中检索数据,而活动内存数据本身仍然存储在物理内存中。

秘密 - 首先了解任务管理器。

下图是我个人电脑的win10任务管理器-内存界面。

电脑配置8G物理内存+8G虚拟内存。

可以看到,我的8G物理内存已经使用了3.5G,也就是44%。 所有应用实际申请的内存为5.3G(已提交)。

在Win10任务管理器-详细信息中,工作集(内存)代表应用程序向系统请求的内存空间,内存(活跃专业工作集)代表应用程序主动使用的内存数据。 可以看到,几乎所有应用程序都有不活跃内存数据,部分应用程序的活跃内存数据仅占其请求内存的1/10。

真不能假,假不能真。

综上所述,如果没有虚拟内存,应用程序的大量非活动数据就会被压入你的物理内存中,这会大大降低物理内存的利用效率。 所以,不要关闭虚拟内存。

那么我是否可以手动分配一个巨大的虚拟内存,试图达到与大容量物理内存相同的效果呢? 这也是做不到的。 前面提到过,活动内存数据仍然会存储在物理内存中,所以即使你的虚拟内存无限大而物理内存太小,仍然会出现内存不足的错误,因为物理内存无法容纳那么多活动数据。

虚拟内存设置多大?

从任务管理器中可以看出,大多数应用程序的活动内存占所请求内存的1/2到1/3,即非活动内存与活动内存的比例为1:1到2:1。 那么建议将虚拟内存设置为物理内存的1-2倍。 如果觉得麻烦,可以直接将虚拟内存大小交给系统托管。 系统会在必要时自动扩展虚拟内存大小,以保证程序的正常运行。 但永远不建议完全关闭虚拟内存。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权本站发表,未经许可,不得转载。

扫一扫在手机阅读、分享本文