getting process memory info

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

getting process memory info

Jakob Praher-2
hi all,

i am writing a set of benchmark tests for binary translation of llvm
bytecodes as well as aot translation of llvm bytecode.

i am using the llvm-test sytle makefiles.
i write a special TEST.benchmark.Makefile that does the work.

i have good support (toolwise) for measuring runtime:
- time(1) is a nice utility for measuring time (under linux it should do
more but does not it  :-()
- time-passes


but i have no simply utility for measuring runtime space (memory):
- ps would work, but it is a hack since i can't invoke it by giving ps
the tool to execute (i would have to write a wrapper which runs 2
subprocesses, one which runs the app, the other which runs ps with the
right pid).
- valgrind et al - are too heavy weight imho

do you have a nice way to measure memory info like time(1) measures
execution time?

thanks in advance
-- Jakob

_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Reply | Threaded
Open this post in threaded view
|

Re: getting process memory info

Ralph Corderoy

Hi Jakob,

> do you have a nice way to measure memory info like time(1) measures
> execution time?

Is acct(5) any good?  It has some low-overhead memory details.

Cheers,


Ralph.


_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Reply | Threaded
Open this post in threaded view
|

Re: getting process memory info

Jakob Praher-2
Hi Ralph,

thanks for your pointer.

what i did now was :

write a simple application, which forks and execs the app to be
monitored in the child process.

the parent installs an alaram (with ualarm) and wait for the child pid.
periodically after the alarm goes on a simple os specific code is
executed to get the rss.

the arithmetic average of the rss value is then computed and at the end
of the parent process, the average is printed out to stderr.

this way you can execute it within the TEST scripts.
it works accross gcc as well as llc built binaries and with the lli. (i
know the lli could be used to -track-memory, but that was too specific
to the requirements of LLVM's runtime passes).

-- jakob

Ralph Corderoy wrote:

> Hi Jakob,
>
>> do you have a nice way to measure memory info like time(1) measures
>> execution time?
>
> Is acct(5) any good?  It has some low-overhead memory details.
>
> Cheers,
>
>
> Ralph.

_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev