【发布时间】:2011-07-19 16:16:07
【问题描述】:
我的程序使用了大量内存。这就是 valgrind massif 工具向我展示的内容:
--------------------------------------------------------------------------------
n time(i) total(B) useful-heap(B) extra-heap(B) stacks(B)
--------------------------------------------------------------------------------
28 38,531,086,036 760,235,208 143,002,822 617,232,386 0
如您所见,额外部分比有用堆大几倍。
我应该怎么做才能减少这些额外的内存? 减少分配?
这就是所谓的内存碎片吗?
操作系统:Linux 2.6。程序是用 C 语言编写的。它应该 24 小时 7 小时工作,并且可以处理大量数据。
【问题讨论】:
-
你说它 24/7 运行?内存使用量是否会随着运行而增加?
-
不,它没有。没有内存泄漏。
标签: c linux heap-memory valgrind memory-fragmentation