Memory management 什么是鞭打?为什么会发生这种情况?

Memory management 什么是鞭打?为什么会发生这种情况?,memory-management,operating-system,Memory Management,Operating System,在操作系统中,抖动与内存管理有关。为什么会发生颠簸? 我们如何预防它 我查了维基百科(但我需要一些简单的理解) 在实现虚拟内存空间的操作系统中,程序从一个地址空间分配内存,该地址空间可能比系统拥有的实际RAM量大得多。操作系统负责决定哪些程序“内存”在实际RAM中。它需要一个地方在东西“不在”的时候保存它们。这就是所谓的“交换空间”,因为操作系统根据需要交换东西。当这种交换活动发生时,它是CPU时间的主要消耗者,那么您实际上是在浪费时间。您可以通过运行更少的程序、编写更有效地使用内存的程序、向系

在操作系统中,抖动与内存管理有关。为什么会发生颠簸? 我们如何预防它


我查了维基百科(但我需要一些简单的理解)

在实现虚拟内存空间的操作系统中,程序从一个地址空间分配内存,该地址空间可能比系统拥有的实际RAM量大得多。操作系统负责决定哪些程序“内存”在实际RAM中。它需要一个地方在东西“不在”的时候保存它们。这就是所谓的“交换空间”,因为操作系统根据需要交换东西。当这种交换活动发生时,它是CPU时间的主要消耗者,那么您实际上是在浪费时间。您可以通过运行更少的程序、编写更有效地使用内存的程序、向系统添加RAM,或者甚至通过增加交换大小来防止这种情况

当请求的内存访问(来自虚拟地址空间)未映射到RAM中的某个内容时,会发生页面错误。然后必须将一个页面从RAM发送到swap,以便请求的新页面可以从swap发送到RAM。正如您可能想象的那样,用于RAM读取的2个磁盘I/O的性能往往非常差。

抖动 在这种状态下,CPU执行的“生产性”工作更少,“交换”更多。 CPU忙于交换页面,以至于无法按要求对用户程序做出响应。 发生原因
在我们的系统中,当内存中有太多页面时,就会发生抖动,而每个页面都引用另一个页面。真实内存的容量会缩短,以容纳所有页面,因此它使用“虚拟内存”。当执行中的每个页面需要当前不在真实内存(RAM)中的页面时,它会将一些页面放在虚拟内存中,并调整RAM中所需的页面。如果CPU在执行此任务时忙得不可开交,则会发生抖动。

如果您想确切了解抖动的正确性

如果C.p.U使用率为0(空闲),则这种情况称为抖动

它将发生在死锁情况下。因此,在该情况下,没有任何资源(如打印机等)将使用C.p.U,因此它将处于空闲状态,因此我们可以将这种情况称为抖动


这就是颠簸:)

在虚拟内存系统中,颠簸是指在内存和硬盘之间过度交换数据页,导致应用程序响应更慢。虚拟内存功能跟踪页面使用情况,并尽可能多地将经常使用的页面保存在内存中。

我知道这个问题很久以前就有人问过,但我只是想与其他人共享信息

“抖动”一词实际上与虚拟内存有关,操作系统使用虚拟内存为进程提供额外的内存或空间。“抖动”一词的实际含义是,当进程准备加载到内存中时,只有少数或部分页面(部分)加载到实际物理内存中,其余页面则加载到交换空间(虚拟内存或磁盘)中

现在,如果进程需要执行的页面没有加载到内存中,它将生成一个页面错误,并要求操作系统替换该页面。在这里,流程将继续执行

有时,被操作系统替换的页面也是进程所需要的,因此它再次要求操作系统将其加载到内存中,替换其他页面,以此类推。由于进程未执行,因此CPU利用率为0,但磁盘读写处于峰值

我们的OSs的设计方式是,当CPU利用率降低时,它会在内存中启动另一个进程。下一个进程现在必须等待,因为第一个进程正忙。同样,由于CPU没有被利用或者它是0(在我们的示例中),操作系统启动另一个进程,同样的事情也会发生


因此,当进程忙于读写(交换页面)时,CPU利用率降低到最低水平。这就是所谓的打击

内存抖动是一个问题,当分配的内存多于物理内存,并且在系统中不可用时,会出现此问题。 要知道什么是抖动,您必须首先了解交换和页面错误。让我们从这些概念开始: 页面错误和交换:-当请求的内存访问(从虚拟地址空间)未映射到RAM中的某个内容时,会发生页面错误。然后必须将一个页面从RAM发送到swap,以便请求的新页面可以从swap发送到RAM。这将导致2个磁盘I/O。现在您可能知道,与内存访问相比,磁盘I/O速度非常慢

要了解什么是内存抖动,请参阅以下链接:


操作系统使用虚拟内存的概念,在主内存已满且没有空间为传入进程提供空间时,为进程提供内存。这种使用
虚拟内存作为替代内存的机制是抽象的,用户不知道后面会发生什么。在用户知道他/她刚才执行的新进程在
主存中获得了空间

因此,为了容纳主存中的传入进程,需要将驻留在主存中的空闲进程移动到虚拟内存。当出现
页面错误时,会发生从主存到虚拟内存的移动

现在我们来谈谈痛击

如果
操作系统
使用这样的
页面替换算法
,其中发生
页面错误的概率很高,然后,在
主存
虚拟内存
之间来回交换页面会浪费大量CPU周期。这会抑制CPU性能。由于出现大量页面错误而导致CPU性能下降的过程称为