Messages in this thread | | | From | Denys Vlasenko <> | Subject | Re: [PATCH] add "VmUsers: N" to /proc/$PID/status | Date | Thu, 16 Jul 2009 23:27:25 +0200 |
| |
On Thursday 16 July 2009 21:46, Valdis.Kletnieks@vt.edu wrote: > On Wed, 15 Jul 2009 03:22:18 +0200, Denys Vlasenko said: > > > It can be nice to know how many such CLONE_VM'ed processes > > share VM with given /proc/PID. Then it would be possible to do > > more accurate accounting of memory usage. Say, by dividing > > all memory usage numbers of this process by this number. > > Process A clones a process A1. Process B clones a process B1. Now > all 4 of them have 'VmUsers: 2' on them, but there's no clean way to tell > whether A1 or B1 is the one sharing with A, or with B. > > The patch is probably sufficient if all you want is some N to divide by, but > not if you care *which* processes are sharing how much.
You are right. There is more: the truly accurate accounting needs to be per page. Like /proc/$PID/smaps and /proc/$PID/pagemap. (However, I am not sure you can relize that two processes share a VM by looking at these files either)
I do not aim to solve _that_ problem with my patch.
I, indeed, want to have just an N I can divide RSS/VSZ/etc by, to get, say, top display which do not mislead user into thinking that he has 3 processes with 100 megabyte RSS when in reality he has 3 processes sharing a single VM with 100 meg RSS.
This will still not be completely accurate due to per-page sharing and such, but it will be more accurate than what we have now. -- vda
| |