物理和虚拟内存是内存的形式(数据的内部存储)。物理内存存在于芯片(RAM内存)和硬盘等存储设备上。在执行进程之前,必须先将其加载到RAM物理内存(也称为主内存)中。虚拟存储器是一种过程,通过该过程可以在物理存储器存储位置和RAM存储器之间快速交换数据(例如,编程代码)。数据的快速交换对用户是无缝的和透明的。虚拟内存的使用允许使用更大的程序,并使那些程序运行更快。
在现代操作系统中,可以通过虚拟内存在硬盘和RAM内存之间不断交换数据。称为交换的过程用于通过虚拟内存交换数据。虚拟内存的使用使计算机看起来具有更大的RAM容量,因为虚拟内存可以模拟整个数据块的传输,从而使程序能够平稳高效地运行。实际上,不是将数据放入经常受限的易失性RAM内存中,而是将数据写入硬盘。因此,虚拟存储器的大小仅受硬盘大小或分配给硬盘上虚拟存储器的空间的限制。当RAM中需要信息时,交换系统会在RAM与硬盘之间快速交换内存块(通常也称为内存页面)。
虚拟内存是什么?
虚拟内存是操作系统(OS)的内存管理功能,该功能使用硬件和软件允许计算机通过将数据从随机存取内存(RAM)临时传输到磁盘存储中来弥补物理内存不足。使用RAM中的活动内存和硬盘驱动器(HDD)中的不活动内存来增加虚拟地址空间,以形成同时容纳应用程序及其数据的连续地址。
虚拟内存是在物理内存(已安装的RAM)非常昂贵的时候开发的。计算机具有有限数量的RAM,因此内存可能会用完,尤其是当多个程序同时运行时。使用虚拟内存的系统使用硬盘驱动器的一部分来模拟RAM。使用虚拟内存,系统可以加载较大的程序或同时运行的多个程序,从而使每个程序都可以像具有无限内存一样运行,而不必购买更多的RAM。
在将虚拟内存复制到物理内存时,操作系统会将内存分为页面文件或具有固定地址数的交换文件。每个页面都存储在磁盘上,并且在需要页面时,操作系统会将其从磁盘复制到主内存,然后将虚拟地址转换为真实地址。
虚拟内存的类型
计算机的内存管理单元(MMU)处理内存操作,包括管理虚拟内存。在大多数计算机中,MMU硬件已集成到CPU中。处理虚拟内存有两种方式:分页和分段。
分页将内存分为多个部分或页面文件,通常大小约为4 KB。当计算机用完RAM时,未使用的页面将通过交换文件传输到指定用于虚拟内存的硬盘驱动器部分。交换文件是硬盘驱动器上留出的空间,可以用作计算机RAM的虚拟内存扩展。当需要交换文件时,将使用称为页面交换的过程将其发送回RAM。该系统可确保计算机的OS和应用程序不会耗尽实际内存。
分页过程包括使用页表,这些表将OS和应用程序使用的虚拟地址转换为MMU使用的物理地址。页表中的条目指示该页是否在实际内存中。如果操作系统或程序在RAM中找不到所需的内容,则MMU会使用页面错误异常来响应缺少的内存引用,以使操作系统在需要时将页面移回内存。页面进入RAM后,其虚拟地址将显示在页面表中。
分段还用于管理虚拟内存。这种方法将虚拟内存分为不同长度的段。内存中未使用的段可以移至硬盘驱动器上的虚拟内存空间。在分段表中跟踪分段的信息或过程,该表显示内存中是否存在分段,是否已对其进行修改以及其物理地址是什么。
一些虚拟内存系统结合了分段和分页。在这种情况下,内存将分为帧或页面。这些段占用多页,并且虚拟地址同时包含段号和页号。
如何管理
操作系统具有默认设置,这些默认设置确定要分配给虚拟内存的硬盘驱动器空间量。该设置适用于大多数应用程序和进程,但有时需要手动重置分配给虚拟内存的硬盘驱动器空间量,例如依赖快速响应时间的应用程序或计算机具有多个HDD时。
手动重置虚拟内存时,必须指定用于虚拟内存的最小和最大硬盘空间。为虚拟内存分配的HDD空间太小会导致计算机内存不足。如果系统持续需要更多的虚拟内存空间,则考虑添加RAM可能是明智的。
使用虚拟内存的优点
虚拟内存的主要优势之一是其处理两倍于主内存的地址的能力。它使用软件通过将HDD用作临时存储来消耗更多的内存,而MMU通过CPU将虚拟内存地址转换为物理地址。程序使用虚拟地址存储指令和数据。当执行程序时,虚拟地址将转换为实际的内存地址。
虚拟内存和内存层次结构
虚拟内存还将应用程序从共享内存中解放出来,并在RAM空间用尽时使用户不必添加内存模块。
局限性
虚拟内存的使用有其折衷,特别是在速度方面。通常最好有尽可能多的物理内存,以便程序直接从RAM或物理内存中运行。使用虚拟内存会减慢计算机的速度,因为必须在虚拟内存和物理内存之间映射数据,这需要额外的硬件支持来进行地址转换。
在虚拟化计算环境中,管理员可以使用虚拟内存管理技术为资源耗尽的虚拟机(VM)分配额外的内存。这种虚拟化管理策略可以提高VM性能和管理灵活性。
历史
在开发虚拟内存之前,计算机具有RAM和辅助内存。早期的计算机将磁芯存储器用作主存储器,将磁鼓用作辅助存储器。计算机存储器价格昂贵,通常在1940年代和1950年代供不应求。随着计算机程序的大小和复杂性的增长,开发人员不得不担心他们的程序会耗尽计算机的所有主内存并耗尽内存。
在早期,程序员使用称为覆盖的过程来运行大于可用内存的程序。程序中不经常使用的部分被设置为覆盖,在需要时会覆盖内存中的现有覆盖。它需要进行大量编程才能使叠加工作正常进行,而这正是开发自动虚拟内存的主要动力。
德国物理学家Fritz-RudolfGüntsch于1956年在博士工作中开发了虚拟内存的概念,这一成就受到了赞誉。他在其中描述了一种计算机,该计算机使用硬件自动在主存储器和辅助存储器之间移动数据块,以避免用尽主存储器。这形成了分页的基础,该过程将内存分为多个部分,然后在RAM和硬盘驱动器之间进行传输以释放RAM中的空间。在1960年代初期,分页开始出现在商用计算机中。
1969年,IBM研究人员证明了当时称为虚拟内存覆盖系统的系统比早期的手动系统更好地工作。1970年代的大型机和小型计算机通常使用虚拟内存。虚拟内存技术未包含在早期的个人计算机中,因为开发人员认为内存不足不会在这些计算机中造成问题。该假设被证明是错误的。英特尔于1982年以保护模式80802处理器引入了虚拟内存,并于1985年推出80386时提供了页面支持。
现代虚拟内存系统取代了物理文件交换和程序碎片的早期形式。
从某种意义上说,虚拟内存是数据存储的专用辅助类型,硬盘驱动器的一部分专用于存储专用虚拟内存文件(也称为页面)。专用于存储要通过虚拟内存接口交换的数据块的硬盘驱动器区域称为页面文件。在大多数操作系统中,硬盘的页面文件区域都有预设的大小,并且页面文件可以存在于多个磁盘驱动器上。但是,大多数现代操作系统的用户可以更改页面文件的大小,以满足特定的性能要求。与页面文件大小一样,尽管预先设置了页面的实际大小,但现代操作系统通常允许用户更改页面的大小。虚拟内存页面的大小范围从一千比特到几兆字节。
虚拟存储器的使用允许整个数据或程序块(例如,应用程序进程)驻留在虚拟存储器中,而只有部分正在执行的代码在物理存储器中。因此,虚拟存储器的使用允许操作系统运行许多程序,并因此增加了操作系统内的多重编程程度。
随着Windows 3.0和8386处理器的发布,一切都发生了变化。结合使用这两个,我们可以使用虚拟内存。使用虚拟内存,我们仍然使用物理安装的RAM,但是我们也可以将RAM地址映射到硬盘驱动器。为此,系统会保留一部分硬盘驱动器。该部分可以是文件,也可以是单独的分区。对于Windows,它是一个名为pagefile.sys的文件。。在Linux下,一个单独的分区用于内存。当系统需要更多内存时,它将某些内存地址映射到硬盘驱动器。这意味着我们可以运行的应用程序比安装的RAM还多。就CPU而言,有足够的内存来容纳所有应用程序。RAM中实际上不存在额外的内存。它是硬盘驱动器上的存储空间。
在Windows中,我们可以通过“控制面板”中“系统”小程序的“高级”选项卡来管理虚拟内存。Windows自动管理虚拟内存设置,这在大多数情况下应该足够了。但是,我们也可以手动配置虚拟内存交换文件和存储交换文件的磁盘分区的最大大小。交换文件的建议大小为物理RAM量的1.5倍。为了稍微提高性能,我们可以将交换文件移动到与操作系统使用的不同的物理磁盘上。但是,如果页面文件位于系统驱动器上,则在系统崩溃时Windows将创建内存转储文件。该文件可用于帮助识别导致系统崩溃的原因。
为什么需要虚拟内存?
以下是使用虚拟内存的原因:
只要您的计算机的物理内存中没有空间,它就会将需要记住的内容作为虚拟内存写入交换文件中的硬盘。
如果运行Windows的计算机需要更多的内存/ RAM,然后又安装在系统中,则为此使用一小部分硬盘驱动器。
什么是交换
对于虚拟内存,我们还使用了称为交换的过程。将数据从RAM移至磁盘(以及移回)的过程称为交换或分页。虚拟内存管理器(VMM)负责在物理内存和硬盘之间交换数据。众所周知,硬盘比RAM慢很多。因此,如果我们正在积极使用某些应用程序,则我们不希望该应用程序的内存存储在硬盘驱动器上。假设我们打开了两个应用程序,并且我们只有足够的RAM才能在其中容纳一个应用程序。假设一个应用程序是MS Word,另一个应用程序是MS Excel。假设当前我们正在用MS Word写一些文章,而MS Excel在后台运行。由于我们正在积极使用MS Word,因此我们希望所有MS Word所需的内存都在物理RAM中,这将提高性能。在这种情况下,因为我们没有足够的空间容纳操作系统和所有打开的应用程序,所以系统将交换我们的应用程序。换句话说,系统将采用当前正在使用的应用程序(在我们的情况下为MS Word),并将所有应用程序加载到RAM中。MS Excel将换出到虚拟内存,因为当前未使用它。它仍在运行,但是由于当前尚未使用,因此我们可以将其内存交换到硬盘驱动器上,以便MS Word可以更快地运行。当我们需要再次使用MS Excel并切换到它时,系统将获取MS Word内存要求并将其放回硬盘驱动器,并将MS Excel内存要求从分页文件中删除并将其重新加载到物理中内存。这样可以确保当前活动的应用程序正在物理RAM中运行,
当物理RAM中没有更多空间时,VMM实际上将使用最长时间未使用的应用程序,并将其放置在硬盘驱动器上的页面文件中。如果系统需要访问位于虚拟内存中的应用程序,则VMM首先将程序放入物理RAM中,该程序在最长时间内未使用,然后将其放入硬盘驱动器上的页面文件中。然后,它将当前正在访问的应用程序带回到物理RAM。从物理RAM中提取应用程序并将其放入页面文件中的过程称为分页。将应用程序从页面文件移回物理RAM的过程称为分页。如果没有虚拟内存,则系统中必须有更多的RAM才能运行我们通常使用的所有应用程序。要检查使用了多少物理和虚拟内存,我们可以打开任务管理器,然后转到“性能”选项卡。在性能选项卡上,我们可以查看物理和虚拟内存的统计信息。
磁盘崩溃情况
虚拟内存功能很棒,但是可能会过度使用它。当我们这样做时,系统会降低到爬网速度。如果我们运行太多的应用程序,或者如果我们运行的应用程序需要大量内存,则会发生这种情况。问题不一定与页面文件本身有关,因为我们可以将其扩大。通常,我们有一个很大的硬盘驱动器,因此我们可以在该硬盘驱动器上使用大量空间来存储虚拟内存。问题在于交换必须非常频繁地发生。如果我们运行的应用程序太多,并且这些应用程序使用的内存过多(而不是安装的物理内存),则交换发生得太频繁了。在那种情况下,系统基本上只做交换。在这种情况下,我们说系统正在经历磁盘颠簸。我们知道发生这种情况是因为硬盘指示灯一直亮着。由于硬盘不断将信息移入和移出虚拟内存,因此它一直处于打开状态。我们还可以在“性能”监视器中看到高磁盘统计信息。在过去,由于安装了少量RAM,很容易出现磁盘颠簸的情况。如今,磁盘颠簸的发生频率越来越低,但是如果我们使用需要大量内存的应用程序,这种情况仍然会发生。如果我们遇到磁盘抖动问题,可以尝试关闭某些应用程序和进程。我们可以做的另一件事是在系统中安装更多的物理内存。在过去,由于安装了少量RAM,很容易出现磁盘颠簸的情况。如今,磁盘颠簸的发生频率越来越低,但是如果我们使用需要大量内存的应用程序,这种情况仍然会发生。如果我们遇到磁盘抖动问题,可以尝试关闭某些应用程序和进程。我们可以做的另一件事是在系统中安装更多的物理内存。在过去,由于安装了少量RAM,很容易出现磁盘颠簸的情况。如今,磁盘颠簸的发生频率越来越低,但是如果我们使用需要大量内存的应用程序,这种情况仍然会发生。如果我们遇到磁盘抖动问题,可以尝试关闭某些应用程序和进程。我们可以做的另一件事是在系统中安装更多的物理内存。
虚拟内存是模拟的内存,已写入硬盘驱动器上的页面文件。对于Windows,它是一个名为pagefile.sys的文件。将数据从RAM移至磁盘(以及移回)的过程称为交换或分页。当物理RAM中没有更多空间时,VMM将占用最少的应用程序,并将其放置在硬盘驱动器上的页面文件中。从物理RAM中获取应用程序并将其放入页面文件中的过程称为分页。将应用程序从页面文件移回物理RAM的过程称为分页。当物理内存量太低时,会发生磁盘抖动。在这种情况下,必须将数据不断地从物理RAM移至磁盘,然后再移回。
虚拟内存是许多操作系统(包括Windows)的一部分,但不是DOS的功能。除了提高程序(代码行)的执行速度和操作大小外,虚拟内存系统的使用还提供了宝贵的经济利益。硬盘存储器目前比RAM存储器便宜得多。因此,虚拟存储器的使用允许以相对较低的成本设计大容量计算系统。
主内存,也称为RAM,是计算机中的物理内存单元。虚拟内存还用作计算机内存,但实际上是硬盘空间,用作计算机进程的临时存储。
当存储要由处理器访问的数据时,计算机会使用尽可能多的主内存。当计算机的物理RAM用完时,它将使用硬盘驱动器上预留的虚拟内存空间。
主内存可提高计算机的速度,而虚拟内存往往以比物理RAM慢得多的速度传输数据。因此,仅在绝对必要时才应使用虚拟内存。
RAM有几种不同的类型。旧计算机可能使用SDRAM,而新计算机(截至2010年)使用某种形式的DDR RAM,即DDR1,DDR2或DDR3。虚拟内存没有不同的“类型”,因为它是所有驱动器空间。但是您几乎可以将任何存储设备用于虚拟内存,包括拇指驱动器。
为什么随机存取存储器很重要?
虽然计算机的所有部分都可以发挥功能,但是随机存取存储器或RAM是真正的工作所在。没有RAM,计算机就没有任何用处,RAM会直接影响计算机的速度。人们升级或更换计算机的最大原因之一是更多的RAM和更高的速度。
RAM做什么
RAM是计算机中的工作空间。当您拉出文件时,处理器会从硬盘驱动器复制该文件,然后将其放入RAM,这就是您要处理的文件。保存该文件时,您在RAM中拥有的工作将被复制到硬盘驱动器的只读存储器或ROM中。此外,您正在使用的任何程序以及大多数操作系统都在RAM中运行。
系统与速度
RAM以可拆卸集成电路带的形式出现,称为“双列直插式内存模块”或DIMM。DIMM通常长5英寸,并安装在计算机的主板上。通常,您在计算机中安装的RAM越多,运行速度就越快。更多的RAM会增加该工作空间的大小,使您可以执行更复杂的事情,或者只是做更多的事情。同时执行多标签Web浏览器,邮件阅读器,文字处理程序和音乐播放器的多任务人员会很快注意到RAM不足。
RAM不足
一台较旧的计算机可以运行,但可能不会像开箱即用的模型那样快。尽管用户可以选择重量较轻的程序,但它们会及时陷入困境。如果在硬盘驱动器上设置了交换空间,则该驱动器将更加努力地工作以吸收空闲空间。
复杂性需要更多RAM
长期使用计算机的用户可能会记得RAM的测量单位是千字节而不是2010年的千兆字节。但是,随着计算机从1980年代末开始发展,软件和用户的需求也是如此。运行基于文本的程序的DOS系统不需要像运行视频和声音应用程序的最新Windows或Linux操作系统那样多的内存。
升级内存
有几种方法可以升级计算机中的RAM。最可靠的方法是物理上添加更多或更大的RAM芯片。幸运的是,内存相当便宜。在尝试执行此操作之前,请确保您的计算机可以升级-大多数计算机都限制了它们可以使用的RAM数量。在紧要关头,您可以将磁盘空间留作交换文件或分区,而交换空间充当额外的RAM。
尽管通过硬盘驱动器和RAM内存之间的虚拟内存交换进行的数据页交换(特定长度的数据或数据时钟)非常快,但过分依赖虚拟内存交换会降低整体系统性能。如果专用于存储页面文件的硬盘驱动器的数量不足以满足严重依赖于通过虚拟内存进行数据交换的系统的需求,则用户可能会收到“内存不足”消息和错误,甚至尽管它们有大量未使用的硬盘空间。
到2003年初,RAM容量为1024 MB(1兆字节= 1,000,000字节)的个人计算机在美国广泛可用,许多品牌的个人计算机拥有60 GB的硬盘容量(1 GB等于10亿字节)。随着微芯片技术的进步,硬盘容量和RAM存储器容量的相对极限稳步提高。
虚拟内存的优势
这里是使用虚拟内存的优点/好处:
当仅需要执行程序的特定部分来执行程序时,虚拟内存有助于提高速度。
这对实现多程序环境非常有帮助。
它允许您一次运行更多的应用程序。
它可以帮助您将许多大型程序装入较小的程序。
通用数据或代码可以在存储器之间共享。
进程可能变得大于所有物理内存。
必要时应从磁盘读取数据/代码。
可以将代码放置在物理内存中的任何位置,而无需重定位。
主内存中应保留更多进程,这将增加CPU的有效使用率。
每个页面都存储在磁盘上,直到需要它为止,它将被删除。
它允许同时运行更多应用程序。
对多重编程的程度没有具体限制。
应该编写大型程序,因为与物理内存相比,可用的虚拟地址空间更多。
虚拟内存的缺点
这里是使用虚拟内存的缺点/缺点:
如果系统使用虚拟内存,则应用程序运行可能会变慢。
在应用程序之间进行切换可能需要花费更多时间。
提供较少的硬盘空间供您使用。
它降低了系统稳定性。
它允许大型应用程序在没有单独提供足够物理内存来运行它们的系统中运行。
它提供的性能与RAM不同。
它会对系统的整体性能产生负面影响。
占用存储空间,否则可用于长期数据存储。
内存新品
领先的新型DDR4工业级宽温度服务器内存
全球领先的工业存储和内存提供商Apacer继获得专利的DDR4抗硫化服务器内存之后,宣布推出DDR4工业级宽温度服务器内存模块,从而继续提高服务器内存的生存能力。该产品非常适合需要应对剧烈温度波动的新兴服务器市场,例如坚固的室外服务器和边缘系统,移动边缘计算,室外电信设备(例如5G RAN应用程序和杆装服务器平台),并且可以帮助改善服务器设备的可用性。
根据DIGITIMES Research的调查,随着现有云需求按预期增长,COVID-19大流行将带动对在线服务的需求更高。2020年第二季度,全球服务器出货量预计将增长15.8%。近年来,AIoT的兴起推动了室外服务器和边缘系统在其数据源附近的部署,从而改善了传输,计算效率或节省了带宽。室外服务器应用程序变得越来越多样化,服务器应用程序不再局限于在受环境控制,设备齐全的室内计算机房中运行。通常在24小时不间断运行的服务器设备在运行过程中会产生大量废热,这将导致服务器内部长时间处于高温环境。一旦处于长期暴露或极端温度变化的室外环境中,就不能低估对服务器内存数据传输性能的威胁以及对稳定性的影响。不仅可能丢失关键数据,而且在严重的情况下,甚至可能导致系统崩溃和损坏。
Apacer的DDR4工业级宽温度服务器内存模块由精心选择的工业级材料制成,包括原始制造商的工业级宽温度IC。这与市场上的劣质产品有明显区别,劣质产品是使用分类方法由商业级IC制造的。Apacer的模块还配备了金手指设计,具有很高的抗插拔性,耐环境腐蚀能力以及30u的镀金厚度。它还采用了耐高温寄存器和无源组件,极大地提高了服务器存储器在极端温度环境下的稳定性和可靠性。内置的热传感器可实时监控内存温度,有效地防止了过热的风险。不出所料,该内存模块在出厂前已经通过了严格的高温和长期动态老化测试,且颜色鲜艳。尽早消除潜在的早期故障问题,以保持最高的质量标准。
Apacer在研发,制造和测试方面拥有丰富的经验,并且与许多垂直市场客户合作开发宽温度存储模块。DDR4工业级宽温度服务器内存模块可以满足生存能力的要求,并且已经在室内和室外应用中尽职尽责,包括从数据中心到国防和医疗保健的所有应用。第一波服务器模块将包括4至16GB的容量,DDR4 2666 MT / s的最高速度,支持VLP板尺寸和抗硫化技术。
英特尔支持采用深度学习加速技术的内存优化Azure虚拟机(VM)
英特尔的深度学习增强技术(Intel DL Boost)现在是新的通用和内存优化的Azure虚拟机(VM)的主要功能。Microsoft已经宣布,新的Azure VM基于第二代Xenon Platinum Cascade Lake(8272 CL)配置,能够在2.5 GHz和3.4 GHz的全核睿频上运行。由Intel DL Boost提供支持的Azure VM还具有其他高端技术,包括Intel®Advanced Vector Extensions 512(Intel®AVX-512),Intel®Turbo Boost Technology 2.0和Intel®超线程技术。
对于使用v3 VM的用户,切换到v4大小将提供更好的每核价格性能选项。
什么是英特尔深度学习加速(DL Boost)技术?
英特尔DL Boost技术是可扩展的嵌入式AI性能增强器,适用于复杂的IT工作负载。它已安装在英特尔至强可扩展处理器中,以扩展用于深度学习工作负载的推理性能,以处理矢量神经网络指令扩展(VNNI)。这些VNNI AVX 512用于新时代的AI应用程序,例如语音/语音识别,对象分类,语言翻译和图像处理等等。
以Intel的DL Boost技术为核心,Azure VM将运行全新的系列产品-Azure Ddv4和Ddsv4以及Edv4和Edsv4; (一般情况下)
Azure Dv4和Dsv4以及Ev4和Esv4(仅预览)。
这些VM依赖于远程磁盘,而没有扩展临时的本地存储,与所有以前版本的Azure VM系列相比,其性能最多可降低本地CPU使用率的20%。
在Intel DL Boost上运行的Azure VM的特定功能
新的DDv4和Ddsv4以及Edv4和Edsv4具有更大的SSD存储,旨在扩大低延迟和临时存储要求带来的好处。高速本地存储使IT团队可以更好,更快地管理缓存或临时文件。
上一代的Azure VM包括AV系列,B系列,DCv2系列等。除了增强各种通用工作负载的价值主张外,还部署了这些工具来保护CPU和GPU配置,数据管理和编码功能中的各种操作。
除了更大的本地存储,这些虚拟机还能够为读取和写入操作提供更好的本地磁盘IOPS。
采用Intel Boost技术的Azure新虚拟机可以平衡高达2400 GiB和64个vCPU的内存到CPU性能。根据Microsoft Azure的介绍,这些方案非常适合开发和测试,中小型数据库以及中小型流量Web服务器。
另一方面,Edv4系列包括504 GiB的RAM,还包括用于RDB的运营管理和内存分析的本地SSD存储(最大2400 GiB)。
在此公告发布之时,英特尔公司云与企业CVP Jason Grebe解释了使用Azure VM的更深层次的细微差别。Jason说:“ Azure D-v4和E-v4系列虚拟机的推出进一步扩展了Microsoft IaaS产品组合,以满足我们客户的多样化需求。这些虚拟机由第二代英特尔®至强可扩展处理器支持,可为Web和数据服务,桌面虚拟化以及向Azure迁移的业务应用程序提供优化的应用程序性能。”