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