gpt4 book ai didi

c++ - Private Bytes >> Working Set 是否正常?

转载 作者:可可西里 更新时间:2023-11-01 09:43:46 26 4
gpt4 key购买 nike

好吧,这可能听起来很奇怪,但就是这样。

有 2 台计算机,A(奔腾 D)和 B(四核),运行 Windows XP 的 RAM 数量几乎相同。

如果我在两台计算机上运行相同的代码A 中分配的私有(private)字节永远不会下降,从而导致以后的崩溃。在 B 中,私有(private)字节似乎不断被释放,一切看起来都很好。

两台计算机中,工作集的释放和分配方式类似。

这可能是 list 或 DLL(系统)的问题吗?我一无所知

此外,我在A 上编译了可执行文件并在B 上运行它,它成功了。

备注:

我用 Process Explorer 观察了使用的内存.

问题:

在执行期间(我们有多个分配解除分配)私有(private)字节数比工作集?

最佳答案

内存泄漏(增加私有(private)字节)对工作集没有影响这一事实不足为奇。工作集大小由应用程序最近接触的内存页数决定。专用字节是进程分配的内存量(不与其他进程共享)。如果应用程序忘记释放它不再使用的对象(内存泄漏),那么它的私有(private)字节不会下降,但工作集会下降,因为它没有主动使用该内存。参见 http://technet.microsoft.com/en-us/library/cc780836.aspx有关 Windows 可以为进程跟踪的资源统计信息类型的详细信息。

您可能需要查看应用程序在每台机器上加载的 DLL 的版本 - 可能需要在存在内存泄漏的机器上安装补丁或服务包来修复问题。 Process Explorer 还可以显示进程中加载​​的 DLL 的详细信息。

关于c++ - Private Bytes >> Working Set 是否正常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3057136/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com