线程正在等待一个虚拟内存页到达内存

本文关键字:虚拟内存 内存 一个 在等待 线程 | 更新日期: 2023-09-27 18:15:01

我有一个WPF (c# 3.5)应用程序,它有大量的线程…最近我的线程都卡在ThreadWaitReason PageIn(我已经设法发现它使用内存分析器)。虽然我能理解这个信息,但我不确定它的真正含义,以及我如何避免/解决这个问题……非常感谢您的帮助!非常感谢!

统计
内存消耗:456mb
私有字节:364mb
.NET私有字节使用量:150mb
ProcessThreads: 76(所有线程都处于等待状态,threadwaitreason: pagein

该工具正在警告一条消息:"内存碎片限制了可分配对象的大小。"

线程正在等待一个虚拟内存页到达内存

如果您用尽了所有可用的物理内存,您将最终分页到磁盘,与RAM相比,磁盘读取页面需要花费大量的时间。这就是为什么你的线程正在等待页面加载。

您提到的警告是由于内存的分配和释放导致内存被碎片化,空闲内存块之间存在间隙。如果碎片非常严重,空闲块可能太小,以至于您无法按自己的意愿自由分配内存。