Docs: Add article for procstats, create RAM section.
Bug ID: 18334705
Change-Id: Ia488772a37eb34b5727be55cd92b5a158150c51b
diff --git a/src/devices/devices_toc.cs b/src/devices/devices_toc.cs
index 90404a4..35ef3b4 100644
--- a/src/devices/devices_toc.cs
+++ b/src/devices/devices_toc.cs
@@ -222,7 +222,18 @@
</li>
<li><a href="<?cs var:toroot ?>devices/tech/kernel.html">Kernel</a></li>
- <li><a href="<?cs var:toroot ?>devices/tech/low-ram.html">Low RAM</a></li>
+
+ <li class="nav-section">
+ <div class="nav-section-header">
+ <a href="<?cs var:toroot ?>devices/tech/ram/index.html">
+ <span class="en">RAM</span>
+ </a>
+ </div>
+ <ul>
+ <li><a href="<?cs var:toroot ?>devices/tech/ram/low-ram.html">Low RAM</a></li>
+ <li><a href="<?cs var:toroot ?>devices/tech/ram/procstats.html">Viewing RAM Usage Data</a></li>
+ </ul>
+ </li>
<li class="nav-section">
<div class="nav-section-header">
diff --git a/src/devices/tech/ram/index.jd b/src/devices/tech/ram/index.jd
new file mode 100644
index 0000000..2bb2717
--- /dev/null
+++ b/src/devices/tech/ram/index.jd
@@ -0,0 +1,21 @@
+page.title=RAM
+@jd:body
+
+<!--
+ Copyright 2015 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<p> The following sections contain information, documentation, tips and tricks about Android memory managment and RAM diagnostics.</p>
+
diff --git a/src/devices/tech/low-ram.jd b/src/devices/tech/ram/low-ram.jd
similarity index 100%
rename from src/devices/tech/low-ram.jd
rename to src/devices/tech/ram/low-ram.jd
diff --git a/src/devices/tech/ram/procstats.jd b/src/devices/tech/ram/procstats.jd
new file mode 100644
index 0000000..48e6ed0
--- /dev/null
+++ b/src/devices/tech/ram/procstats.jd
@@ -0,0 +1,368 @@
+page.title=Viewing RAM Usage Data (procstats)
+@jd:body
+
+<!--
+ Copyright 2015 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<div id="qv-wrapper">
+ <div id="qv">
+ <h2>In this document</h2>
+ <ol id="auto-toc"></ol>
+ </div>
+</div>
+
+<p>The <code>procstats</code> tool is used to analyze application memory usage over time (versus at a
+particular snapshot in time, like <code>meminfo</code>). Its state dump displays statistics about every application’s runtime,
+proportional set size (PSS) and unique set size (USS).</p>
+
+<h2 id=input>Input</h2>
+
+
+<p>To get application memory usage stats for the last three hours, in
+human-readable form, run the following command:</p>
+
+<pre class=prettyprint>
+$ adb shell dumpsys procstats --hours 3
+</pre>
+
+
+
+<h2 id=output>Output</h2>
+
+
+<p>As can be seen in the example below, percentages display what percentage of
+time the application was running, while the numbers following show PSS and USS
+as minPSS-avgPSS-maxPSS/minUSS-avgUSS-maxUSS over samples.</p>
+
+<pre class="no-pretty-print">
+AGGREGATED OVER LAST 3 HOURS:
+ * com.android.systemui / u0a20 / v22:
+ TOTAL: 100% (109MB-126MB-159MB/108MB-125MB-157MB over 18)
+ Persistent: 100% (109MB-126MB-159MB/108MB-125MB-157MB over 18)
+ * com.android.nfc / 1027 / v22:
+ TOTAL: 100% (17MB-17MB-17MB/16MB-16MB-16MB over 18)
+ Persistent: 100% (17MB-17MB-17MB/16MB-16MB-16MB over 18)
+ * android.process.acore / u0a4 / v22:
+ TOTAL: 100% (14MB-15MB-15MB/14MB-14MB-14MB over 20)
+ Imp Fg: 100% (14MB-15MB-15MB/14MB-14MB-14MB over 20)
+ * com.google.android.inputmethod.latin / u0a56 / v21483:
+ TOTAL: 100% (57MB-59MB-59MB/56MB-58MB-58MB over 19)
+ Imp Fg: 100% (57MB-59MB-59MB/56MB-58MB-58MB over 19)
+ * com.redbend.vdmc / 1001 / v1:
+ TOTAL: 100% (9.5MB-9.6MB-9.7MB/8.8MB-8.9MB-9.0MB over 18)
+ Persistent: 100% (9.5MB-9.6MB-9.7MB/8.8MB-8.9MB-9.0MB over 18)
+ * com.android.phone / 1001 / v22:
+ TOTAL: 100% (19MB-22MB-27MB/18MB-21MB-26MB over 18)
+ Persistent: 100% (19MB-22MB-27MB/18MB-21MB-26MB over 18)
+ * com.google.android.gms.persistent / u0a8 / v7319438:
+ TOTAL: 100% (32MB-35MB-40MB/30MB-33MB-37MB over 19)
+ Imp Fg: 100% (32MB-35MB-40MB/30MB-33MB-37MB over 19)
+ * com.android.bluetooth / 1002 / v22:
+ TOTAL: 100% (9.3MB-9.7MB-10MB/8.5MB-8.9MB-9.2MB over 19)
+ Imp Fg: 100% (9.3MB-9.7MB-10MB/8.5MB-8.9MB-9.2MB over 19)
+ * com.google.android.googlequicksearchbox:interactor / u0a22 / v300404573:
+ TOTAL: 100% (3.4MB-3.5MB-3.6MB/2.8MB-2.8MB-2.8MB over 19)
+ Imp Fg: 100% (3.4MB-3.5MB-3.6MB/2.8MB-2.8MB-2.8MB over 19)
+ * com.google.process.gapps / u0a8 / v7306438:
+ TOTAL: 100% (23MB-24MB-28MB/21MB-22MB-26MB over 19)
+ Imp Fg: 100% (23MB-24MB-28MB/21MB-22MB-26MB over 19)
+ * com.vito.lux / u0a84 / v237:
+ TOTAL: 100% (32MB-48MB-83MB/31MB-47MB-82MB over 134)
+ Imp Fg: 100% (32MB-48MB-83MB/31MB-47MB-82MB over 134)
+ Service: 0.05%
+ * system / 1000 / v22:
+ TOTAL: 100% (79MB-85MB-102MB/78MB-83MB-100MB over 18)
+ Persistent: 100% (79MB-85MB-102MB/78MB-83MB-100MB over 18)
+ * com.rhapsody / u0a83 / v125:
+ TOTAL: 100% (7.9MB-12MB-19MB/6.9MB-11MB-17MB over 15)
+ Service: 100% (7.9MB-12MB-19MB/6.9MB-11MB-17MB over 15)
+ Service Rs: 0.04%
+ * com.qualcomm.qcrilmsgtunnel / 1001 / v22:
+ TOTAL: 100% (2.5MB-2.6MB-2.7MB/1.7MB-1.8MB-1.9MB over 15)
+ Service: 100% (2.5MB-2.6MB-2.7MB/1.7MB-1.8MB-1.9MB over 15)
+ Service Rs: 0.13%
+ * com.amazon.kindle / u0a82 / v1143472216:
+ TOTAL: 100% (44MB-54MB-77MB/43MB-52MB-74MB over 17)
+ Service: 100% (44MB-54MB-77MB/43MB-52MB-74MB over 17)
+ Service Rs: 0.04%
+ * com.outplaylab.VideoDiet2 / u0a93 / v21:
+ TOTAL: 100% (2.8MB-3.1MB-4.0MB/2.0MB-2.2MB-3.0MB over 15)
+ Service: 100% (2.8MB-3.1MB-4.0MB/2.0MB-2.2MB-3.0MB over 15)
+ Service Rs: 0.03%
+ * android.process.media / u0a6 / v800:
+ TOTAL: 99% (4.6MB-5.9MB-8.1MB/3.4MB-4.7MB-6.7MB over 25)
+ Imp Fg: 0.02%
+ Service: 99% (4.6MB-5.9MB-8.1MB/3.4MB-4.7MB-6.7MB over 25)
+ Service Rs: 0.02%
+ (Cached): 0.94%
+ * kr.sira.sound / u0a108 / v41:
+ TOTAL: 77% (117MB-191MB-219MB/111MB-187MB-213MB over 68)
+ Top: 77% (117MB-191MB-219MB/111MB-187MB-213MB over 68)
+ (Last Act): 18% (58MB-127MB-161MB/53MB-123MB-158MB over 3)
+ (Cached): 0.06%
+ * com.google.android.gms / u0a8 / v7319438:
+ TOTAL: 37% (41MB-45MB-57MB/38MB-42MB-53MB over 23)
+ Top: 13% (41MB-46MB-57MB/39MB-42MB-53MB over 16)
+ Imp Fg: 13% (41MB-44MB-47MB/39MB-41MB-44MB over 5)
+ Imp Bg: 0.38%
+ Service: 11% (42MB-42MB-42MB/38MB-38MB-38MB over 2)
+ Receiver: 0.03%
+ (Last Act): 2.0% (38MB-38MB-38MB/36MB-36MB-36MB over 1)
+ (Cached): 61% (39MB-40MB-43MB/37MB-37MB-40MB over 28)
+ * com.google.android.googlequicksearchbox / u0a22 / v300404573:
+ TOTAL: 22% (129MB-153MB-162MB/125MB-149MB-156MB over 20)
+ Top: 22% (129MB-153MB-162MB/125MB-149MB-156MB over 20)
+ Imp Bg: 0.04%
+ Receiver: 0.01%
+ (Home): 78% (75MB-84MB-122MB/74MB-82MB-117MB over 12)
+ * com.google.android.apps.thehub / u0a102 / v12:
+ TOTAL: 21% (6.4MB-7.6MB-8.7MB/4.8MB-6.0MB-7.2MB over 2)
+ Service: 21% (6.4MB-7.6MB-8.7MB/4.8MB-6.0MB-7.2MB over 2)
+ * com.google.android.talk / u0a54 / v22314462:
+ TOTAL: 9.3%
+ Top: 0.04%
+ Service: 9.3%
+ Receiver: 0.01%
+ (Last Act): 3.9% (69MB-70MB-71MB/67MB-68MB-69MB over 6)
+ (Cached): 87% (42MB-53MB-77MB/40MB-51MB-74MB over 137)
+ * com.google.android.apps.plus / u0a67 / v413836278:
+ TOTAL: 8.2% (9.6MB-12MB-18MB/8.1MB-11MB-16MB over 3)
+ Imp Bg: 0.10%
+ Service: 8.0% (9.6MB-12MB-18MB/8.1MB-11MB-16MB over 3)
+ Receiver: 0.05%
+ (Cached): 59% (7.8MB-19MB-33MB/6.8MB-18MB-31MB over 22)
+ * com.android.providers.calendar / u0a2 / v22:
+ TOTAL: 3.5% (7.3MB-7.7MB-8.0MB/5.9MB-6.5MB-6.9MB over 10)
+ Imp Bg: 0.32%
+ Service: 3.2% (7.3MB-7.7MB-8.0MB/5.9MB-6.5MB-6.9MB over 10)
+ Receiver: 0.01%
+ (Cached): 69% (4.7MB-6.6MB-7.8MB/3.5MB-5.5MB-6.7MB over 23)
+ * com.amazon.mShop.android / u0a104 / v5030102:
+ TOTAL: 2.7% (25MB-40MB-47MB/24MB-37MB-43MB over 6)
+ Service: 2.6% (25MB-40MB-47MB/24MB-37MB-43MB over 6)
+ Receiver: 0.15%
+ (Cached): 97% (25MB-33MB-48MB/24MB-31MB-44MB over 46)
+ * com.google.android.gm / u0a70 / v51001620:
+ TOTAL: 2.2% (209MB-209MB-209MB/203MB-203MB-203MB over 1)
+ Top: 0.48% (209MB-209MB-209MB/203MB-203MB-203MB over 1)
+ Imp Bg: 0.70%
+ Service: 1.0%
+ Receiver: 0.01%
+ (Last Act): 0.02%
+ (Cached): 94% (25MB-67MB-116MB/23MB-63MB-109MB over 61)
+ * com.google.android.googlequicksearchbox:search / u0a22 / v300404573:
+ TOTAL: 2.1% (66MB-66MB-66MB/63MB-63MB-63MB over 1)
+ Top: 1.4% (66MB-66MB-66MB/63MB-63MB-63MB over 1)
+ Imp Fg: 0.01%
+ Service: 0.66%
+ Receiver: 0.02%
+ (Cached): 98% (52MB-59MB-79MB/50MB-56MB-77MB over 56)
+ * com.google.android.calendar / u0a31 / v2015030452:
+ TOTAL: 1.4%
+ Imp Bg: 0.33%
+ Service: 1.1%
+ Receiver: 0.02%
+ (Cached): 80% (7.4MB-12MB-17MB/5.8MB-9.8MB-14MB over 18)
+ * com.android.vending / u0a16 / v80341100:
+ TOTAL: 1.3% (88MB-154MB-220MB/85MB-151MB-217MB over 2)
+ Top: 1.3% (88MB-154MB-220MB/85MB-151MB-217MB over 2)
+ Service: 0.06%
+ Receiver: 0.02%
+ (Last Act): 4.4% (46MB-68MB-89MB/45MB-66MB-87MB over 2)
+ (Cached): 11% (15MB-74MB-133MB/13MB-72MB-131MB over 2)
+ * com.google.android.apps.photos / u0a65 / v5616:
+ TOTAL: 0.94%
+ Service: 0.90%
+ Receiver: 0.04%
+ (Cached): 80% (9.2MB-12MB-17MB/7.5MB-11MB-15MB over 20)
+ * com.amazon.avod.thirdpartyclient / u0a107 / v451210:
+ TOTAL: 0.52%
+ Service: 0.49%
+ Receiver: 0.03%
+ (Cached): 97% (14MB-24MB-34MB/13MB-22MB-31MB over 40)
+ * com.google.android.gms.wearable / u0a8 / v7319438:
+ TOTAL: 0.51%
+ Imp Fg: 0.47%
+ Service: 0.04%
+ (Cached): 65% (4.7MB-6.5MB-8.2MB/3.6MB-4.2MB-5.4MB over 10)
+ * com.amazon.mShop.android.shopping / u0a103 / v5040011:
+ TOTAL: 0.50%
+ Service: 0.37%
+ Receiver: 0.13%
+ (Cached): 77% (13MB-17MB-21MB/11MB-15MB-19MB over 15)
+ * com.google.android.gms:car / u0a8 / v7319438:
+ TOTAL: 0.49% (7.1MB-7.1MB-7.1MB/4.3MB-4.3MB-4.3MB over 1)
+ Top: 0.05%
+ Imp Fg: 0.39% (7.1MB-7.1MB-7.1MB/4.3MB-4.3MB-4.3MB over 1)
+ Service: 0.05%
+ (Cached): 0.60% (6.6MB-6.6MB-6.6MB/3.6MB-3.6MB-3.6MB over 1)
+ * com.amazon.mp3 / u0a92 / v4033010:
+ TOTAL: 0.46%
+ Service: 0.43%
+ Receiver: 0.03%
+ (Cached): 84% (12MB-16MB-23MB/9.7MB-14MB-21MB over 25)
+ * com.android.chrome:privileged_process1 / u0a34 / v2272096:
+ TOTAL: 0.43%
+ Service: 0.04%
+ Service Rs: 0.39%
+ (Cached): 100% (2.9MB-4.0MB-4.9MB/1.7MB-2.9MB-3.9MB over 18)
+ * com.google.android.dialer / u0a10 / v20100:
+ TOTAL: 0.39% (93MB-93MB-93MB/89MB-89MB-89MB over 1)
+ Top: 0.23% (93MB-93MB-93MB/89MB-89MB-89MB over 1)
+ Imp Fg: 0.16%
+ (Cached): 16% (5.0MB-31MB-57MB/4.1MB-29MB-54MB over 2)
+ * com.google.android.apps.maps / u0a58 / v906101124:
+ TOTAL: 0.38%
+ Service: 0.33%
+ Receiver: 0.05%
+ (Cached): 69% (8.7MB-15MB-18MB/7.2MB-14MB-17MB over 8)
+ * com.google.android.youtube / u0a80 / v101451214:
+ TOTAL: 0.26%
+ Service: 0.26%
+ (Cached): 36% (15MB-22MB-29MB/13MB-19MB-27MB over 5)
+ * com.google.android.apps.fitness / u0a45 / v2015109100:
+ TOTAL: 0.26%
+ Service: 0.23%
+ Receiver: 0.02%
+ (Cached): 82% (3.9MB-6.4MB-9.2MB/2.8MB-5.3MB-7.9MB over 19)
+ * com.google.android.apps.enterprise.dmagent / u0a37 / v630:
+ TOTAL: 0.06%
+ Service: 0.06%
+ Receiver: 0.01%
+ (Cached): 2.2% (6.5MB-7.4MB-8.2MB/4.8MB-5.8MB-6.8MB over 2)
+ * com.audible.application / u0a95 / v3068:
+ TOTAL: 0.06%
+ Receiver: 0.06%
+ (Cached): 34% (14MB-16MB-19MB/11MB-14MB-17MB over 7)
+ * com.android.defcontainer / u0a5 / v22:
+ TOTAL: 0.06%
+ Imp Fg: 0.06%
+ (Cached): 0.12%
+ * com.google.android.music:main / u0a60 / v1847:
+ TOTAL: 0.04%
+ Top: 0.01%
+ Service: 0.02%
+ Receiver: 0.01%
+ (Cached): 9.8% (10MB-12MB-14MB/8.3MB-9.6MB-11MB over 2)
+ * com.google.android.apps.magazines / u0a61 / v2015040100:
+ TOTAL: 0.03%
+ Top: 0.02%
+ Receiver: 0.01%
+ (Cached): 8.7% (12MB-14MB-16MB/9.7MB-11MB-13MB over 2)
+ * com.google.android.videos / u0a77 / v37191:
+ TOTAL: 0.03%
+ Imp Fg: 0.01%
+ Service: 0.02%
+ (Cached): 1.3% (11MB-12MB-13MB/9.1MB-10MB-12MB over 2)
+ * com.google.android.apps.books / u0a28 / v30336:
+ TOTAL: 0.03%
+ Imp Fg: 0.01%
+ Service: 0.02%
+ (Cached): 1.3% (7.9MB-9.6MB-11MB/6.3MB-8.0MB-9.7MB over 2)
+ * com.google.android.keep / u0a71 / v3115:
+ TOTAL: 0.02%
+ Service: 0.01%
+ Receiver: 0.01%
+ (Cached): 11% (6.3MB-8.7MB-9.6MB/5.1MB-7.4MB-8.3MB over 4)
+ * com.android.chrome / u0a34 / v2272096:
+ TOTAL: 0.02%
+ Service: 0.01%
+ Receiver: 0.02%
+ (Cached): 90% (5.1MB-70MB-96MB/3.4MB-66MB-92MB over 15)
+ * com.google.android.apps.gcs / u0a94 / v14:
+ TOTAL: 0.02%
+ Service: 0.02%
+ (Cached): 17% (5.8MB-5.9MB-6.0MB/4.6MB-4.7MB-4.8MB over 2)
+ * com.android.chrome:privileged_process0 / u0a34 / v2272096:
+ TOTAL: 0.02%
+ Service: 0.01%
+ Receiver: 0.01%
+ (Cached): 73% (162MB-163MB-164MB/157MB-157MB-157MB over 13)
+ * com.android.chrome:sandboxed_process12 / u0a34 / v2272096:
+ TOTAL: 0.02%
+ Service: 0.01%
+ Receiver: 0.01%
+ (Cached): 73% (48MB-49MB-51MB/46MB-47MB-50MB over 13)
+ * com.google.android.apps.docs / u0a40 / v51410735:
+ TOTAL: 0.01%
+ Receiver: 0.01%
+ (Cached): 0.45% (10MB-10MB-10MB/9.3MB-9.3MB-9.3MB over 1)
+ * com.google.android.deskclock / u0a38 / v303:
+ TOTAL: 0.01%
+ Receiver: 0.01%
+ (Cached): 82% (2.5MB-3.3MB-4.3MB/1.7MB-2.3MB-3.2MB over 13)
+ * com.google.android.gm.exchange / u0a69 / v500065:
+ TOTAL: 0.01%
+ Imp Bg: 0.01%
+ (Cached): 27% (3.3MB-3.7MB-3.9MB/2.2MB-2.7MB-2.9MB over 6)
+ * com.android.cellbroadcastreceiver / u0a3 / v22:
+ TOTAL: 0.01%
+ Service: 0.01%
+ (Cached): 1.1% (3.5MB-3.5MB-3.5MB/2.5MB-2.5MB-2.5MB over 1)
+ * com.coulombtech / u0a106 / v26:
+ TOTAL: 0.01%
+ Receiver: 0.01%
+ (Cached): 21% (4.9MB-5.0MB-5.2MB/3.8MB-3.9MB-4.1MB over 2)
+ * com.softcoil.mms / u0a86 / v32:
+ TOTAL: 0.01%
+ (Cached): 0.25%
+ * com.udemy.android / u0a91 / v38:
+ TOTAL: 0.01%
+ Receiver: 0.01%
+ (Cached): 0.75% (9.8MB-9.8MB-9.8MB/8.5MB-8.5MB-8.5MB over 1)
+ * com.qualcomm.timeservice / u0a76 / v22:
+ (Cached): 16% (2.3MB-2.4MB-2.4MB/1.6MB-1.6MB-1.6MB over 4)
+ * com.lge.SprintHiddenMenu / 1000 / v22:
+ (Cached): 0.16%
+ * com.android.chrome:sandboxed_process13 / u0a34 / v2272096:
+ (Cached): 0.01%
+ * com.google.android.partnersetup / u0a13 / v22:
+ (Cached): 0.14%
+ * com.android.musicfx / u0a15 / v10400:
+ (Cached): 0.41% (2.5MB-2.5MB-2.5MB/1.6MB-1.6MB-1.6MB over 1)
+ * com.android.chrome:sandboxed_process9 / u0a34 / v2272096:
+ (Cached): 30% (34MB-34MB-34MB/32MB-32MB-32MB over 9)
+ * com.android.chrome:sandboxed_process11 / u0a34 / v2272096:
+ (Cached): 7.2% (56MB-56MB-56MB/54MB-54MB-54MB over 3)
+
+Run time Stats:
+ SOff/Norm: +32m52s226ms
+ SOn /Norm: +2h10m8s364ms
+ Mod : +17s930ms
+ TOTAL: +2h43m18s520ms
+
+Memory usage:
+ Kernel : 265MB (38 samples)
+ Native : 73MB (38 samples)
+ Persist: 262MB (90 samples)
+ Top : 190MB (325 samples)
+ ImpFg : 204MB (569 samples)
+ ImpBg : 754KB (345 samples)
+ Service: 93MB (1912 samples)
+ Receivr: 227KB (1169 samples)
+ Home : 66MB (12 samples)
+ LastAct: 30MB (255 samples)
+ CchAct : 220MB (450 samples)
+ CchCAct: 193MB (71 samples)
+ CchEmty: 182MB (652 samples)
+ Cached : 58MB (38 samples)
+ Free : 60MB (38 samples)
+ TOTAL : 1.9GB
+ ServRst: 50KB (278 samples)
+
+ Start time: 2015-04-08 13:44:18
+ Total elapsed time: +2h43m18s521ms (partial) libart.so
+</pre>
+