Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android : PSS (Proportional Set Size) Calculation

I am trying to figure out how the PSS is calculated is Android.

I found one article that states the following.

The "proportional set size" (PSS) of a process is the count of pages it has in memory, where each page is divided by the number of processes sharing it. So if a process has 1000 pages all to itself, and 1000 shared with one other process, its PSS will be 1500

My first question is, is the above information accurate ? If not, could someone tell me how it is really calculated ?

Also, is this value is kilobytes or is "PSS" a unit by itself ?

like image 605
Heshan Perera Avatar asked Apr 09 '12 07:04

Heshan Perera


1 Answers

Yes, that information is accurate, and that's exactly how it is calculated. (The LWN.net article is here; note that Matt Mackall who participates in that thread you link to developed that feature.)

PSS is in kilobytes, like all the other information you get in /proc/<pid>/smaps. Its unit follows from how it is calculated.

(How often is PSS value updated for a given process in /proc/pid/smaps has some pointers as to where and how PSS is calculated - disclaimer: I wrote the answer there. There are a few other posts on Unix & Linux that discuss PSS and related metrics.)

like image 84
Mat Avatar answered Oct 13 '22 02:10

Mat