Ok, I just added the mem_max_rss metadata in the development version
of the perf module, just after the perf 0.7.3 release.

Victor

2016-08-08 3:38 GMT+02:00 Victor Stinner <victor.stin...@gmail.com>:
> 2016-07-30 19:48 GMT+02:00 Armin Rigo <ar...@tunes.org>:
>> Hi Victor,
>>
>> Fwiw, there is some per-OS (and even apparently
>> per-Linux-distribution) solution mentioned here:
>> http://stackoverflow.com/questions/774556/peak-memory-usage-of-a-linux-unix-process
>>
>> For me on Arch Linux, "/usr/bin/time -v CMD" returns a reasonable
>> value in "Maximum resident set size (kbytes)".  I guess that on OSes
>> where this works, it gives a zero-overhead, exact answer.
>
> Oh, I guess that it uses the ru_maxrss field of
> getrsage(RUSAGE_CHILDREN). It's also possible to get the maximum RSS
> of the current process in pure Python:
>
>>>> resource.getrusage(resource.RUSAGE_SELF).ru_maxrss
> 98700
>
> It looks like Linux kernel 2.6.32 or newer is required. Hopefully,
> this kernel version is now quite old (December 3rd 2009).
>
> But I guess that RSS is more coarse than getting the sum of the
> private memory from /proc/pid/smaps (Linux 2.6.16 or newer). Sadly, it
> looks like the kernel only provides the maximum for RSS memory (not
> for private memory).
>
> Victor
_______________________________________________
Speed mailing list
Speed@python.org
https://mail.python.org/mailman/listinfo/speed

Reply via email to