C# (平均)页数/秒=1.084,12;将活动内存分页到磁盘的速率极高。您的应用程序可能内存不足。

C# (平均)页数/秒=1.084,12;将活动内存分页到磁盘的速率极高。您的应用程序可能内存不足。,c#,memory,memory-leaks,pagefile,C#,Memory,Memory Leaks,Pagefile,这是Visual Studio 2013在我运行性能分析工具时给我的警告。我在stackoverflow上发现了一个类似于我的问题,但并没有回答我所有的问题 1) 我的程序大量使用全局变量(它们位于类似结构的对象中),对它的过度读写会导致这个问题吗 2) 到底是什么问题?我以为这是某种内存泄漏。连续运行程序10小时。没有内存泄漏。我想可能是程序对硬盘的读写过度了。使用资源监视器来跟踪,从不超过1000字节/秒。这是相当低的 3) 我应该担心吗?如果这表明程序正在过度写入HDD,我必须修复它(不想

这是Visual Studio 2013在我运行性能分析工具时给我的警告。我在stackoverflow上发现了一个类似于我的问题,但并没有回答我所有的问题

1) 我的程序大量使用全局变量(它们位于类似结构的对象中),对它的过度读写会导致这个问题吗

2) 到底是什么问题?我以为这是某种内存泄漏。连续运行程序10小时。没有内存泄漏。我想可能是程序对硬盘的读写过度了。使用资源监视器来跟踪,从不超过1000字节/秒。这是相当低的

3) 我应该担心吗?如果这表明程序正在过度写入HDD,我必须修复它(不想破坏SSD)。如果不是这样,我真的不想重写整个代码


如果你想看到代码在所有它的荣耀(!)你可以看看它

这并不是因为你太频繁地向硬盘上写东西,而是因为你的内存不足,需要将要存储在内存中的信息写入硬盘。从硬盘而不是内存中读取数据的速度要慢几百到几十万倍。本质上,这意味着您的应用程序可能会变慢。要么您使用了太多内存,要么您的机器没有足够的设备来运行您的应用程序。阅读了解更多信息。我对分页的工作原理有一些了解。问题是,程序运行后,我不会向磁盘写入任何内容。虽然我反复调用了一些.dll,但我怀疑这就是这个警告的意义所在。我还监控了我的应用程序的RAM使用情况。发射后1-2秒,它几乎保持不变。我看不出明显的原因。您可以很容易地禁用程序的某些部分,以缩小麻烦制造者的范围。请务必先在禁用反恶意软件的情况下试用。@HansPassant禁用防病毒软件是个好主意。实际上,我将在一个干净的虚拟机上运行它。只是想确定一下。谢谢。这并不是因为你写硬盘的次数太多,而是因为你没有足够的内存,需要将存储在内存中的信息写入硬盘。从硬盘而不是内存中读取数据的速度要慢几百到几十万倍。本质上,这意味着您的应用程序可能会变慢。要么您使用了太多内存,要么您的机器没有足够的设备来运行您的应用程序。阅读了解更多信息。我对分页的工作原理有一些了解。问题是,程序运行后,我不会向磁盘写入任何内容。虽然我反复调用了一些.dll,但我怀疑这就是这个警告的意义所在。我还监控了我的应用程序的RAM使用情况。发射后1-2秒,它几乎保持不变。我看不出明显的原因。您可以很容易地禁用程序的某些部分,以缩小麻烦制造者的范围。请务必先在禁用反恶意软件的情况下试用。@HansPassant禁用防病毒软件是个好主意。实际上,我将在一个干净的虚拟机上运行它。只是想确定一下。谢谢
(Average)Pages/sec = 1.084,12; An extremely high rate of paging active memory to disk is occurring. Your application may be memory-bound.