gpt4 book ai didi

c++ - Linux 中的内存

转载 作者:太空宇宙 更新时间:2023-11-04 05:40:29 24 4
gpt4 key购买 nike

我的程序将文件中的数据加载到结构中

std::tr1::unordered_map< Key, Details*> 

std::tr1::unordered_map< KeyOuter, std::tr1::unordered_map<KeyInner, Details*>* >
Key := std::string | int | long long
Details : struct { Fields } ( sizeof >=40 bytes )

我的程序会定期从文件中读取新数据,然后回收旧结构。 (大量新建/删除操作)

在 Windows 中:重新加载数据后的内存使用量约为 200mb。

CentOS中的相同文件:每次重新加载后总内存使用量增加至1000mb(内存使用量:200->400->600->800->1000->1000->1000->1000)

vld 和 valngrind 未检测到泄漏。

如何解决Linux中的内存问题?

最佳答案

不是问题。 Linux 将您之前读取的文件保留在其缓存中,因此,如果您需要再次读取这些文件,则不需要 HDD 访问。

该内存不会丢失,一旦任何进程需要更多内存,它就会被释放。

更多详情,请参阅http://www.linuxatemyram.com/以及 superuser.com 上的类似主题。

关于c++ - Linux 中的内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18982278/

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