什么是 Thrash?2025年06月13日 | 阅读 6 分钟 在计算机科学中,thrash(抖动)是指虚拟内存(或分页)系统性能低下,当由于缺乏主内存来容纳它们而导致相同的页面被反复加载时。根据配置和算法的不同,系统的实际吞吐量可能会降低多个数量级。 在计算机科学中,当计算机的虚拟内存资源被过度使用时,就会发生thrashing(抖动),导致系统处于持续的分页和页面错误状态,抑制了大多数应用程序级别的处理。它会导致计算机性能下降或崩溃。这种情况会无限期地持续下去,直到用户关闭一些正在运行的应用程序或活动进程释放更多虚拟内存资源。 为了更清楚地了解抖动,首先我们需要了解页面错误和交换。
Thrashing(抖动)是指页面错误和交换以非常高的速率频繁发生,然后操作系统必须花费更多时间来交换这些页面。操作系统中的这种状态称为抖动。由于抖动,CPU 的利用率会降低或可以忽略不计。 ![]() 所涉及的基本概念是,如果一个进程分配到的帧太少,那么就会发生太多、太频繁的页面错误。结果是,CPU 不会执行有价值的工作,CPU 利用率会急剧下降。 然后,长期调度程序会尝试通过将更多进程加载到内存中来提高 CPU 利用率,从而提高多道程序设计的程度。不幸的是,这会导致 CPU 利用率的进一步下降,触发页面错误增加然后多道程序设计程度增加的连锁反应,称为抖动。 抖动期间的算法一旦开始抖动,操作系统会尝试应用全局页面替换算法或局部页面替换算法。 1. 全局页面替换 由于全局页面替换可以调入任何页面,因此它会尝试在发现抖动时调入更多页面。但实际发生的情况是,没有一个进程获得足够的帧,结果,抖动会越来越严重。因此,全局页面替换算法不适用于抖动发生时。 2. 局部页面替换 与全局页面替换算法不同,局部页面替换只会选择属于该进程的页面。因此,有可能减少抖动。但事实证明,使用局部页面替换有很多缺点。因此,在抖动场景中,局部页面替换只是全局页面替换的一种替代方案。 抖动的原因程序或工作负载可能导致抖动,并导致严重的性能问题,例如:
如何消除抖动抖动对硬盘健康和系统性能有一些负面影响。因此,有必要采取一些措施来避免它。要解决抖动问题,以下是一些方法,例如:
防止抖动的技术局部页面替换优于全局页面替换,但局部页面替换有很多缺点,因此有时没有帮助。因此,以下是一些用于处理抖动的其他技术: 1. 局部性模型 局部性是指一组一起被积极使用的页面。局部性模型表明,当进程执行时,它会从一个局部性移动到另一个局部性。因此,程序通常由几个不同的局部性组成,这些局部性可能重叠。 例如,当调用一个函数时,它定义了一个新的局部性,其中内存引用被指向函数调用指令、局部和全局变量等。同样,当函数退出时,进程将离开这个局部性。 2. 工作集模型 该模型基于上述局部性模型的概念。 基本原理是,如果我们为一个进程分配足够的帧来容纳其当前局部性,那么只有当它移动到新的局部性时才会发生故障。但是,如果分配的帧少于当前局部性的大小,则进程一定会抖动。 根据此模型,基于参数 A,工作集定义为最近 'A' 次页面引用中的页面集。因此,所有活动使用的页面最终都会成为工作集的一部分。 工作集的准确性取决于参数 A 的值。如果 A 太大,那么工作集可能会重叠。另一方面,对于较小的 A 值,局部性可能无法完全覆盖。 如果 D 是帧的总需求量,WSSi 是进程 i 的工作集大小, D = ⅀ WSSi 现在,如果 'm' 是内存中可用的帧数,则有两种可能性:
如果有多余的帧,那么可以加载更多进程到内存中。另一方面,如果工作集大小的总和超过了帧的可用性,则必须挂起一些进程(将其从内存中换出)。 此技术可防止抖动,同时确保尽可能高的多道程序设计程度。因此,它优化了 CPU 利用率。 3. 页面错误频率 处理抖动的一种更直接的方法是使用页面错误频率概念。 ![]() 与抖动相关的问题是高页面错误率,因此,这里的概念是控制页面错误率。 如果页面错误率过高,则表示分配给该进程的帧太少。相反,低页面错误率表明该进程拥有过多的帧。 可以为所需的页面错误率设置上限和下限,如图所示。 如果页面错误率低于下限,可以从进程中删除帧。同样,如果页面错误率超过上限,可以为进程分配更多帧。 换句话说,系统的图形状态应保持在给定图中所形成的矩形区域内。 如果页面错误率很高但没有可用帧,可以将一些进程挂起,并将分配给它们的帧重新分配给其他进程。挂起的进程稍后可以重新启动。 |
AC 代表交流电。如果没有交流电,就无法期望家中、办公室、工厂等电器正常运行。电流是一种无形的力量,以多方面的方式推动着当今的现代世界,并具有其特性...
阅读9分钟
简介 微软公司是广泛使用的Microsoft Office生产力应用程序套件的制造商。作为全球最大、使用最广泛的软件套件之一,Microsoft Office最初于1990年推出,至今已被数十亿人使用...
7 分钟阅读
在公司事务的动态环境中,保证和审计是确保财务信息精确性和一致性的基本基础。审计以对经济记录、流程和控制进行系统审查为特征,在评估财务报表的准确性和公平性方面发挥着重要作用。反之,...
7 分钟阅读
IC 一词代表集成电路。因此,555 定时器 IC 是一种集成电路芯片,用于各种定时器、脉冲发生器、闪烁灯、逻辑时钟和振荡器。它也称为 555 定时器振荡器。555 定时器 IC 包含各种元件:电阻器、电容器……
阅读9分钟
政府和企业筹集资金最常用的技术之一是发行债券。简单来说,债券是一种贷款,其中发行债券的政府或实体是借款人,投资者是贷款人。…
7 分钟阅读
在过去的几年里,视频通话已成为电信行业提供的一项重要功能和成就。它在商务通信领域也是一项伟大的成就。但尽管如此,在视频通话发明之后,仍然存在许多负担和困难...
阅读 3 分钟
数学中的矩阵乘法与我们通常进行的乘法运算不同。它是一种二元运算,在两个矩阵之间执行,并产生一个新矩阵。在本节中,我们将学习矩阵乘法及其性质,以及相关的例子。当我们进行加法或...
阅读 2 分钟
有效地管理投资就像培养一棵随着时间的推移会带来丰厚回报的树。系统投资计划 (SIP) 是许多希望长期积累财富的个人中最受欢迎的选择。选择最适合的 SIP 计划的任务...
阅读 19 分钟
每个人都需要金钱来生存,为了更好的未来,他们必须投资金钱以在困难时期获得丰厚利润。有各种各样的投资平台可供选择,例如将钱存入银行账户、定期存款、资产、负债、黄金、交易、共同基金、股票和债券……
阅读 8 分钟
? 机房托管或主机托管设施可以定义为数据中心的一个设施,企业可以在其中租用服务器或其他计算硬件的空间。机房托管通常提供物理安全、带宽、电力、冷却和建筑,而客户提供存储和服务器……
阅读 6 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India