Note that there are some explanatory texts on larger screens.

plurals
  1. POWant to make /proc/*/smaps output anonymous region sum and /proc/meminfo AnonPages to match to trace actual memory usage precisely
    primarykey
    data
    text
    <p>I want to see the precise amount of memory each processes use as anonymous page, because anonymous memory cannot be paged out, thus tracking this usage precisely is important.</p> <p>One way to get the whole sum of anonymous page is to read /proc/meminfo AnonPages.</p> <p>The other way is to add up all the entries in smaps file which matches follows:</p> <ul> <li>no name</li> <li>[stack]</li> <li>[heap]</li> <li>/dev/zero</li> <li>/dev/shm/...</li> <li><strong>Relocated section private_dirty</strong> <blockquote> <p>Section used for relocation would be updated for each process, which makes some private_dirty region in a named mapping region. Elf loader seems to change read/write attribute using mprotect when doing relocation, so it is difficult to differentiate such region from a data section, and making it difficult to track these usage from each process point of view</li> </ul> <p>So I would like to know how to differentiate the above relocated section, and to precisely track the anonymous memory usage for each processes.</p> </blockquote></p> <p>Maybe we should add new entry in /proc/*/smaps to show the amount of Anonymous memory for each section.</p> <p>And I've found this diff which was done 2010 October, which just answer my question.</p> <p><a href="http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6-stable.git;a=blobdiff;f=Documentation/filesystems/proc.txt;h=976de6e19dd821351c1e4b52f82c72139c9598d7;hp=a563b74c7aef400ccfcd8e5e0a10cd03b94523f1;hb=b40d4f84becd69275451baee7f0801c85eb58437;hpb=d16e15f5b029fc7d03540ba0e5fb23b0abb0ebe0" rel="nofollow">http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6-stable.git;a=blobdiff;f=Documentation/filesystems/proc.txt;h=976de6e19dd821351c1e4b52f82c72139c9598d7;hp=a563b74c7aef400ccfcd8e5e0a10cd03b94523f1;hb=b40d4f84becd69275451baee7f0801c85eb58437;hpb=d16e15f5b029fc7d03540ba0e5fb23b0abb0ebe0</a></p> <p><a href="http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6-stable.git;a=blobdiff;f=fs/proc/task_mmu.c;h=da6b01d70f019506face0dae73f0b78c3200d299;hp=871e25ed006970667229eea95c56342836c53525;hb=b40d4f84becd69275451baee7f0801c85eb58437;hpb=d16e15f5b029fc7d03540ba0e5fb23b0abb0ebe0" rel="nofollow">http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6-stable.git;a=blobdiff;f=fs/proc/task_mmu.c;h=da6b01d70f019506face0dae73f0b78c3200d299;hp=871e25ed006970667229eea95c56342836c53525;hb=b40d4f84becd69275451baee7f0801c85eb58437;hpb=d16e15f5b029fc7d03540ba0e5fb23b0abb0ebe0</a></p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload