Firefox OS/Performance/Memory/ADB Tools: Difference between revisions

Corr.
(Corr.)
 
(6 intermediate revisions by one other user not shown)
Line 4: Line 4:
The command provides:
The command provides:


* The virtual address space used as <code>VSIZE</code>
* <code>RSS</code>: The combined, unique and shared, memory currently paged into the process as Resident Set Size.
* The resident set size as <code>RSS</code>
* <code>VSIZE</code>: The virtual address space referenced by the process.  This will typically be larger than the actual memory in use.


<code><pre>
<code><pre>
Line 72: Line 72:


== /proc/meminfo ==
== /proc/meminfo ==
The linux proc filesystem provides additional information about system memory resources at <code>/proc/meminfo</code>.  This can be useful if you want to breakdown system memory in a different way than <code>b2g-info</code>.
There is a lot of information available in <code>/proc/meminfo</code>.  For a description of the various fields please see the [http://linux.die.net/man/5/proc proc(5) man page].
<code><pre>
bkelly@lenir:/srv/gaia-master$ adb shell cat /proc/meminfo
MemTotal:        420412 kB
MemFree:          56936 kB
Buffers:          16796 kB
Cached:          136632 kB
SwapCached:            0 kB
Active:          159568 kB
Inactive:        131732 kB
Active(anon):    137884 kB
Inactive(anon):    8492 kB
Active(file):      21684 kB
Inactive(file):  123240 kB
Unevictable:          0 kB
Mlocked:              0 kB
SwapTotal:        196604 kB
SwapFree:        196604 kB
Dirty:                4 kB
Writeback:            0 kB
AnonPages:        137900 kB
Mapped:            48292 kB
Shmem:              8528 kB
Slab:              22008 kB
SReclaimable:      8664 kB
SUnreclaim:        13344 kB
KernelStack:        3056 kB
PageTables:        2280 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:      406808 kB
Committed_AS:    248120 kB
VmallocTotal:    499712 kB
VmallocUsed:        3396 kB
VmallocChunk:    409764 kB
</pre></code>
== /sys/kernel/debug/ion/iommu ==
Starting in Android in Jelly Bean (JB) the system now uses the [https://wiki.linaro.org/BenjaminGaignard/ion ion memory allocator] for graphics shared buffers.  Due to the complexity of the graphics system this can often be a source for resource exhaustion or other problems.
On some devices the kernel provides debug information about ion memory use at <code>/sys/kernel/debug/ion/iommu</code>.
Note, on Firefox OS this will report allocations still in use as "orphaned" when they are actually not really leaked.  It seems this is related to our multi-process architecture.
<code><pre>
bkelly@lenir:/srv/gaia-master$ adb shell cat /sys/kernel/debug/ion/iommu
          client              pid            size
----------------------------------------------------
    adsprpc-smd                1            8192
----------------------------------------------------
orphaned allocations (info is from last known client):
        Browser            1758          294912 0 1
    Marketplace            1461          294912 0 1
        Browser            1758          294912 0 1
        Browser            1758          294912 0 1
        Browser            1758          294912 0 1
        Browser            1758          294912 0 1
        Browser            1758          294912 0 1
        Browser            1758          294912 0 1
        Browser            1758          294912 0 1
        Browser            1758          294912 0 1
        Browser            1758          294912 0 1
        Browser            1758          294912 0 1
        Browser            1758          294912 0 1
        Browser            1758          294912 0 1
            b2g              292            4096 0 1
        Browser            1758          294912 0 1
    Marketplace            1461          294912 0 1
    Marketplace            1461          294912 0 1
    Marketplace            1461          294912 0 1
    Marketplace            1461          294912 0 1
        Browser            1758          294912 0 1
            b2g              292            4096 0 1
            b2g              292            4096 0 1
        Browser            1758          294912 0 1
    Marketplace            1461          294912 0 1
        Browser            1758          294912 0 1
        Browser            1758          294912 0 1
    Marketplace            1461          294912 0 1
    Marketplace            1461          294912 0 1
    Marketplace            1461            4096 0 1
            b2g              292          1536000 0 1
            b2g              292          1536000 0 1
    Marketplace            1461            16384 0 1
        mdss_fb0              350          1536000 0 1
            b2g              292          1536000 0 1
    Marketplace            1461            16384 0 1
    Marketplace            1461            16384 0 1
    Marketplace            1461            16384 0 1
    Marketplace            1461            16384 0 1
  Communications            1303          294912 0 1
  Communications            1303          294912 0 1
----------------------------------------------------
  total orphaned        14499840
          total          14508032
----------------------------------------------------
Cached Pools:
0 order 9 highmem pages in pool = 0 total
0 order 9 lowmem pages in pool = 0 total
0 order 8 highmem pages in pool = 0 total
0 order 8 lowmem pages in pool = 0 total
0 order 4 highmem pages in pool = 0 total
0 order 4 lowmem pages in pool = 0 total
0 order 0 highmem pages in pool = 0 total
3810 order 0 lowmem pages in pool = ee2000 total
Uncached Pools:
0 order 9 highmem pages in pool = 0 total
0 order 9 lowmem pages in pool = 0 total
0 order 8 highmem pages in pool = 0 total
0 order 8 lowmem pages in pool = 0 total
0 order 4 highmem pages in pool = 0 total
0 order 4 lowmem pages in pool = 0 total
0 order 0 highmem pages in pool = 0 total
0 order 0 lowmem pages in pool = 0 total
Total bytes in pool: ee2000
</pre></code>
3,860

edits