gpt4 book ai didi

c++ - Solaris 进程内存使用量增加但不会永远增加

转载 作者:太空宇宙 更新时间:2023-11-04 11:46:31 26 4
gpt4 key购买 nike

在 Solaris 10 上,我有一个行为异常的多线程进程。它管理复杂的 C++ 结构(RWTVal 或 RWPtr)。这些结构是根据存储在数据库中的数据构建的(使用 Pro*C)。该进程每小时在数据库中查找新信息,在内存中构建新结构并释放旧数据。但是,每次重复此过程时,进程内存使用量都会增加几 MB (12/16MB)。进程的内存使用从 100M 开始直到接近 1,4G。就这一点而言,该进程似乎存在内存泄漏。但奇怪的是,在这一点之后,进程停止继续增长。当我尝试查找内存泄漏(使用 Purify 工具)时,进程没有增长,也没有显示出明显的泄漏。有没有人发现类似的行为或可以解释可能发生的情况?

最佳答案

当您释放内存时,操作系统可能实际上并没有“丢弃”旧的内存页,因为如果操作系统可以更快地为应用程序分配更多内存不必分配更多页面。但当然只能达到一个限度。

关于c++ - Solaris 进程内存使用量增加但不会永远增加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19675610/

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