Question about policies when profiling browser process on Linux

13 views
Skip to first unread message

Weiliang

unread,
May 4, 2015, 3:55:21 PM5/4/15
to dmp...@chromium.org
I was looking at my result with linux.browser policy, and I am wondering about exact meaning of some categories:
- What exactly is file-nonexec?
- How do I find in code what is allocated with tc, and what is by mmap? If I am interested in a more detailed category than mmap-catch-all, how can I achieve that?
- What is the correlation between measurement categories in dmprof and memory telementry test? Particularly the vm_final_size, vm_peak_size, vm_private_dirty_final, and vm_resident_set_size_final_size?

Thanks,
Wei

dmprof.14569.impl.result.csv

JungJik Lee

unread,
May 11, 2015, 6:21:27 AM5/11/15
to dmp...@chromium.org
- What exactly is file-nonexec?
file-nonexec is a memory block which can not be executed.
a block which does not have x flag in /proc/<PID>/maps.
such as font, some r/w only memory in so files, etc.

- How do I find in code what is allocated with tc, and what is by mmap?
 If I am interested in a more detailed category than mmap-catch-all, how can I achieve that?
I think you should enable tcmalloc for this.
however unfortunately we can not turn tcmalloc in android.
but it would work for linux.
gyp options for this >
profiling=1 profiling_full_stack_frames=1 linux_dump_symbols=1 use_allocator="tcmalloc"

- What is the correlation between measurement categories in dmprof and memory telementry test?
Particularly the vm_final_size, vm_peak_size, vm_private_dirty_final, and vm_resident_set_size_final_size?
dmprof shows more details of native allocation memory, not like dalvik's memory allocation.

I hope this would help you. please let me know if I am wrong.

2015년 5월 5일 화요일 오전 4시 55분 21초 UTC+9, Weiliang 님의 말:

Weiliang Chen

unread,
May 11, 2015, 8:35:48 AM5/11/15
to JungJik Lee, dmp...@chromium.org
Thank you so much for your reply!

On Mon, May 11, 2015 at 6:21 AM, JungJik Lee <jungj...@samsung.com> wrote:
- What exactly is file-nonexec?
file-nonexec is a memory block which can not be executed.
a block which does not have x flag in /proc/<PID>/maps.
such as font, some r/w only memory in so files, etc.

- How do I find in code what is allocated with tc, and what is by mmap?
 If I am interested in a more detailed category than mmap-catch-all, how can I achieve that?
I think you should enable tcmalloc for this.
however unfortunately we can not turn tcmalloc in android.
but it would work for linux.
gyp options for this >
profiling=1 profiling_full_stack_frames=1 linux_dump_symbols=1 use_allocator="tcmalloc"

btw I didn't have much luck with profiling_full_stack_frames=1 flag, never able to build if I turn it on.

I will try out the tcmalloc build though. Thanks!
 

- What is the correlation between measurement categories in dmprof and memory telementry test?
Particularly the vm_final_size, vm_peak_size, vm_private_dirty_final, and vm_resident_set_size_final_size?
dmprof shows more details of native allocation memory, not like dalvik's memory allocation.

If that is the case, does that mean dmprof is not a very good tool to use for analyzing telemetry test memory usage change? 

I hope this would help you. please let me know if I am wrong.

2015년 5월 5일 화요일 오전 4시 55분 21초 UTC+9, Weiliang 님의 말:
I was looking at my result with linux.browser policy, and I am wondering about exact meaning of some categories:
- What exactly is file-nonexec?
- How do I find in code what is allocated with tc, and what is by mmap? If I am interested in a more detailed category than mmap-catch-all, how can I achieve that?
- What is the correlation between measurement categories in dmprof and memory telementry test? Particularly the vm_final_size, vm_peak_size, vm_private_dirty_final, and vm_resident_set_size_final_size?

Thanks,
Wei

--
You received this message because you are subscribed to the Google Groups "dmprof" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dmprof+un...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/dmprof/1324b53c-95f6-43e2-9b77-2020aabc615b%40chromium.org.

JungJik Lee

unread,
May 13, 2015, 12:51:15 AM5/13/15
to dmp...@chromium.org, jungj...@samsung.com


2015년 5월 11일 월요일 오후 9시 35분 48초 UTC+9, Weiliang Chen 님의 말:
Thank you so much for your reply!

On Mon, May 11, 2015 at 6:21 AM, JungJik Lee <jungj...@samsung.com> wrote:
- What exactly is file-nonexec?
file-nonexec is a memory block which can not be executed.
a block which does not have x flag in /proc/<PID>/maps.
such as font, some r/w only memory in so files, etc.

- How do I find in code what is allocated with tc, and what is by mmap?
 If I am interested in a more detailed category than mmap-catch-all, how can I achieve that?
I think you should enable tcmalloc for this.
however unfortunately we can not turn tcmalloc in android.
but it would work for linux.
gyp options for this >
profiling=1 profiling_full_stack_frames=1 linux_dump_symbols=1 use_allocator="tcmalloc"

btw I didn't have much luck with profiling_full_stack_frames=1 flag, never able to build if I turn it on.

I will try out the tcmalloc build though. Thanks!
 

- What is the correlation between measurement categories in dmprof and memory telementry test?
Particularly the vm_final_size, vm_peak_size, vm_private_dirty_final, and vm_resident_set_size_final_size?
dmprof shows more details of native allocation memory, not like dalvik's memory allocation.

 
If that is the case, does that mean dmprof is not a very good tool to use for analyzing telemetry test memory usage change? 

I am not sure that how you will use telemetry memory usage with dmp.
telemetry already provides a script for tracking memory usage. ( https://goo.gl/2lRFXZ ).
dmp is post-mortem memory profiler. so I think it is not easy to sync with telemetry result.
Reply all
Reply to author
Forward
0 new messages