[llvm-dev] llvm-symbolizer memory usage

Francis Ricci via llvm-dev llvm-dev at lists.llvm.org
Tue Jan 14 07:01:48 PST 2020


I work on a linux program with restricted RSS limits (a couple hundred MB),
and one of the things this program does is symbolication. Ideally, we'd
like to use llvm-symbolizer for this symbolication (because we get things
like function inlining that we can't get from cheaper symbolizers), but for
large binaries, the memory usage gets pretty huge.

Based on some memory profiling, it looks like the majority of this memory
cost comes from mmap-ing the binary to be symbolized (via
`llvm::object::createBinary"). This alone comes with hundreds of MB of cost
in many cases.

I have 2 questions here:
1) Does it seem feasible to make llvm-symbolizer work *without* loading the
full binary into memory (perhaps just reading sections from disk as needed,
at the cost of some extra CPU)?
2) If we figured this out, and put it behind something like a
"--low-memory" flag, would it be something the upstream community would
accept?

Francis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200114/aa48a065/attachment.html>


More information about the llvm-dev mailing list