减少嵌入式目标的Valgrind内存使用

时间:2018-07-10 17:14:23

标签: memory embedded out-of-memory valgrind embedded-linux

我正在尝试使用Valgrind在嵌入式Linux目标上调试崩溃的程序。当什么都没有运行时,系统大约有31 MB的可用内存,我的程序使用了大约2 MB的内存,为Valgrind留了29 MB。不幸的是,当我尝试在Valgrind下运行程序时,Valgrind报告了一个错误:

Valgrind's memory management: out of memory:
   initialiseSector(TC)'s request for 27597024 bytes failed.
      50,388,992 bytes have already been mmap-ed ANONYMOUS.
Valgrind cannot continue.  Sorry.

有什么办法可以减少Valgrind的内存使用,使其在此环境中成功运行?还是我只是运气不好?

1 个答案:

答案 0 :(得分:1)

可以调整

valgrind以减少(增加)其cpu /内存使用率, 从而减少(增加)有关问题/错误的信息。

例如参见https://archive.fosdem.org/2015/schedule/event/valgrind_tuning/attachments/slides/743/export/events/attachments/valgrind_tuning/slides/743/tuning_V_for_your_workload.pdf

但是请注意,在31MB(或大约31MB)内运行valgrind似乎是不可能的任务。