gpt4 book ai didi

c++ - 修剪我的 "working set"对没有页面文件的系统有什么影响?

转载 作者:可可西里 更新时间:2023-11-01 10:01:31 24 4
gpt4 key购买 nike

一位客户提示我的程序使用了太多内存。然而,在与他们合作一段时间后,我意识到:

  1. 他们关闭了页面文件(在他们的终端服务框中)。
  2. 他们担心我程序的任务管理器中“私有(private)工作集”的大小。

所以,我的问题是,如果我只是在我的程序启动后使用 EmptyWorkingSet() 修剪工作集的大小(它在 XML 解析期间使用大量内存但随后将其删除,但工作集不会似乎下降了)我可以让工作集数字下降。然而,这真的能帮助客户吗?我有一种感觉,这只是意味着工作集将被分页,我相信如果您关闭了页面文件,工作集无论如何都会由实际内存支持....

任务管理器报告的“私有(private)工作集”真的是我的程序有多少新的/malloced 吗?

最佳答案

至少在标准术语的意义上,“私有(private)工作集”是您的程序映射的内存量,该内存量不受磁盘或其他文件(程序可执行文件、dll 或手动内存映射文件)的支持共享资源。如果启用交换(分页),它是您的程序在完全交换出内存时将占用的交换空间量。

我同意您的管理,您需要修复臃肿的程序。对于具有低延迟要求的客户来说,关闭交换是一个非常明智的决定。如果您的程序使用 2GB 内存,您可能需要重新考虑您使用的任何库来表示内存中的 XML 数据。

关于c++ - 修剪我的 "working set"对没有页面文件的系统有什么影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4898989/

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