gpt4 book ai didi

linux - massif 报告的堆使用量比 VmRss 少得多,这可能是什么问题?

转载 作者:太空宇宙 更新时间:2023-11-04 12:20:37 28 4
gpt4 key购买 nike

地 block 输出:

time=3220706
mem_heap_B=393242041
mem_heap_extra_B=73912175
mem_stacks_B=93616
heap_tree=peak

进程在 VmRss 中显示 1.2GB,那么巨大的差异来自哪里? (我看到Rss不断地长大)。

最佳答案

根据 http://cs.swan.ac.uk/~csoliver/ok-sat-library/internet_html/doc/doc/Valgrind/3.8.1/html/ms-manual.html

Heap allocation functions such as malloc are built on top of these system calls. For example, when needed, an allocator will typically call mmap to allocate a large chunk of memory, and then hand over pieces of that memory chunk to the client program in response to calls to malloc et al. Massif directly measures only these higher-level malloc et al calls, not the lower-level system calls.

无法保证基于 massif 输出的 RSS 大小。使用 --pages-as-heap=yes 选项,您也许能够估计 VIRT 大小,但这包括映射到内存中的所有内容,而不必驻留在 RAM 中。

您可能想尝试使用 alloc-fn 选项,通过手动指定所有“自定义”内存分配函数,它可以使您更接近于估计实际内存使用情况。

关于linux - massif 报告的堆使用量比 VmRss 少得多,这可能是什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46129276/

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