----------------------------------------------------- - ¡á °ü·Ã ¸í·É¾î ¿ä¾à (¾Æ·¡ »ó¼¼ ¼³¸í¿¡¼ ³ª¿À´Â ¸í·É¾îµé) -----------------------------------------------------
adb shell cat /proc/meminfo adb shell procrank -p adb shell top -m 10 -s cpu adb shell dumpsys meminfo 242
----------------------------------------------------- - ¡á procrank and top -----------------------------------------------------
adb shell procrank -p adb shell top -m 10 -d 1 -s cpu
Usage: procrank [ -W ] [ -v | -r | -p | -u | -h ] -v Sort by VSS. -r Sort by RSS. -p Sort by PSS. -u Sort by USS. (Default sort order is PSS.) -R Reverse sort order (default is descending). -w Display statistics for working set only. -W Reset working set of all processes. -h Display this help screen.
Usage: top [ -m max_procs ] [ -n iterations ] [ -d delay ] [ -s sort_column ] [ -t ] [ -h ] -m num Maximum number of processes to display. -n num Updates to show before exiting. -d num Seconds to wait between updates. -s col Column to sort by (cpu,vss,rss,thr). -t Show threads instead of processes. -h Display this help screen.
----------------------------------------------------- - ¡á ½Ã½ºÅÛ ¸Þ¸ð¸® »ç¿ë ÇöȲ -----------------------------------------------------
¿ì¼± Àüü ½Ã½ºÅÛÀÇ ¸Þ¸ð¸®ºÎÅÍ ÆľÇÇÏÀÚ. $> adb shell ·Î Á¢¼ÓÇÑ ÈÄ /proc/meminfo ¸¦ ¿¾îº»´Ù.
adb pull /proc/meminfo /tmp ¸í·ÉÀ¸·Î ²¨³»¼ ºÁµµ µÇ°í. adb shell cat /proc/meminfo ¸í·ÉÀ¸·Î ºÁµµ µÈ´Ù.
----------------------------------------------------- - ¡á VSS ¿Í RSS -----------------------------------------------------
ÀÌ·ÐÀûÀ¸·Î(?) ÇÁ·Î¼¼½º°¡ Â÷ÁöÇÏ´Â Á¤È®ÇÑ ¸Þ¸ð¸®ÀÇ Å©±â¸¦ ¾Ë ¼ö´Â ¾ø´Ù°í ÇÑ´Ù. ´Ù¸¸, ÇÁ·Î¼¼½º¿¡ ¸ÅÇεǴ page ¼ö¸¦ Çؼ®ÇÏ´Â ´Ù¾çÇÑ ¹æ¹ýÀÌ Àִµ¥, VSS, RSS, USS, PSS µîÀÌ ±×°ÍÀÌ´Ù.
VSS(Virtual Set Size) ÇÁ·Î¼¼½º¿Í °ü·ÃµÈ ¹öÃß¾ó ¸Þ¸ð¸®(virtual memory) Å©±â. ¸Þ¸ð¸® ¸ÊÀÌ 1MÀ̸é ÇÁ·Î¼¼½º°¡ ¾î¶² ¸®¼Ò½ºµµ »ç¿ëÇÏÁö ¾Ê¾Æµµ VSS´Â 1MB°¡ µÈ´Ù. ÀǹÌÀÖ´Â ¼öÄ¡¶ó°í º¼ ¼ö ¾øÀ½. RSS(Resident Set Size) ÇÁ·Î¼¼½º¿Í °ü·ÃµÈ ¹°¸®Àû ÆäÀÌÁö(physical pages) ¼ö. ¿©·¯ ÇÁ·Î¼¼½º »çÀÌ¿¡¼ °øÀ¯µÈ ÆäÀÌÁö(shared pages) ¼ö¸¦ È®ÀÎÇÒ ¼ö ¾ø¾î º° Àǹ̾øÀ½. AÇÁ·Î¼¼½ºÀÇ RSS°¡ 2MB, BÇÁ·Î¼¼½ºÀÇ RSS°¡ 2MBÀÏ ¶§ ½ÇÁ¦ ¹°¸® ÆäÀÌÁö ¼ö´Â 4MBÀ̰ųª 2MBÀÏ ¼ö ÀÖ´Ù.
¾î·°Å³ª ÇÁ·Î¼¼½ºº° VSS ¿Í RSS °ªÀº top ¸í·É¾î·Î ±¸ÇÒ ¼ö ÀÖ´Ù.
----------------------------------------------------- - ¡á USS ¿Í PSS -----------------------------------------------------
VSS³ª RSSº¸´Ù Á¶±Ý ´õ ÀǹÌÀÖ´Â ¼öÄ¡´Â USS¿Í PSSÀε¥, procrank ¸í·É¾î·Î ±¸ÇÒ ¼ö ÀÖ´Ù.
USS(Unique Set Size) ÇÁ·Î¼¼½º¸¸ÀÇ °íÀ¯ÇÑ ÆäÀÌÁö ¼ö. °øÀ¯µÇÁö ¾Ê´Â ÇÁ·Î¼¼½º¿¡ privateÇÑ ¸Þ¸ð¸® Å©±âÀÌ´Ù. PSS(Proportional Set Size) USS + (°øÀ¯ ÆäÀÌÁö / °øÀ¯ÇÏ´Â ÇÁ·Î¼¼½º ¼ö). Áï, ÇÁ·Î¼¼½º °íÀ¯ ¸Þ¸ð¸® »ç¿ë·® + ÇϳªÀÇ ÇÁ·Î¼¼½º°¡ Â÷ÁöÇÏ´Â °øÀ¯ ¸Þ¸ð¸® ºñÀ²ÀÌ´Ù. ¸¸¾à AÇÁ·Î¼¼½º°¡ 6MB ¸Þ¸ð¸®¸¦ »ç¿ëÇÏ°í ±× Áß 2MB°¡ ±× ÇÁ·Î¼¼½ºÀÇ °íÀ¯ ¿µ¿ªÀ̶ó¸é, ³ª¸ÓÁö 4MB´Â °øÀ¯ ¸Þ¸ð¸®ÀÌ´Ù. 4MBÀÇ °øÀ¯¸Þ¸ð¸®¸¦ 4°³ÀÇ ÇÁ·Î¼¼½º°¡ °øÀ¯ÇÏ°í ÀÖ´Ù¸é PSS´Â 2MB + (4MB/4) = 3MB°¡ µÈ´Ù.
PSS´Â °øÀ¯µÇ´Â ÆäÀÌÁö¸¦ °øÀ¯ ÇÁ·Î¼¼½ºÀÇ ¼ö·Î ³ª´©¾î¼ Á» ´õ Á¤È®ÇÑ ¸Þ¸ð¸® »ç¿ë·®À» ÆľÇÇÒ ¼ö ÀÖ°Ô ÇØÁØ´Ù. ÀÌ°Ô ÇÁ·Î¼¼½º°¡ »ç¿ëÇÏ´Â ½ÇÁ¦ ¸Þ¸ð¸® Å©±â¿¡ °¡Àå ±ÙÁ¢ÇÑ °ªÀ̶ó°í º¼ ¼ö ÀÖ´Ù.
ÇÁ·Î¼¼½ºº° PSS ¼öÄ¡´Â "DDMS ÀÇ Sysinfo ÅÇ" À» ÅëÇؼµµ º¼ ¼ö ÀÖ´Ù. ÆÄÀ̱׷¡ÇÁ·Î ºñÁÖ¾óÇÏ°Ô º¸¿©ÁֹǷÎ, ¸Þ¸ð¸® »ç¿ë ºñÀ²À» ½±°Ô ÆľÇÇÒ ¼ö ÀÖ´Ù.
----------------------------------------------------- - ¡á Á¶±Ý ´õ »ó¼¼ÇÑ ¸Þ¸ð¸® Á¤º¸ -----------------------------------------------------
top°ú procrank¸¦ ÅëÇØ ¾ÖÇø®ÄÉÀ̼ÇÀÇ °³·«ÀûÀÎ ¸Þ¸ð¸® »ç¿ë·®À» ¾Ë¼ö ÀÖ¾ú´Ù¸é, dumpsys meminfo <PID(ÇÁ·Î¼¼½º ID)> ¸í·É¾î·Î ¾à°£ ´õ »ó¼¼ÇÑ ¸Þ¸ð¸® »ç¿ë Á¤º¸¸¦ ±¸ÇÒ ¼ö ÀÖ´Ù. dumpsys meminfo ¸í·É¾î´Â ÇÁ·Î¼¼½º°¡ »ç¿ëÇÏ´Â native(C/C++)¿Í dalvik(JAVA) ¿µ¿ªÀ» ±¸ºÐÇÏ¿© º¸¿©ÁֹǷΠ´Þºò VM ¸¸ÀÇ ¸Þ¸ð¸® Å©±â¸¦ ¾Ë ¼ö ÀÖ´Ù.
- Pss Çʵå : procrank¿¡ ³ª¿Â PSS °ª°ú µ¿ÀÏ - shared dirty : ´Ù¸¥ ÇÁ·Î¼¼½º¿Í °øÀ¯ÇÏ´Â dirty pages(µð½ºÅ©·ÎºÎÅÍ ÆäÀÌ¡ ºÒ°¡´É?) - private dirty : ÇÁ·Î¼¼½º °íÀ¯ÀÇ dirty pages
Objects¿Í SQL ¼½¼Ç¿¡´Â View/Context/Activity µîÀÇ °³¼ö¿Í SQL ÆäÀÌÁö Å©±â µî Áß¿äÇÑ Á¤º¸¸¦ Á¦°øÇϹǷΠȰ¿ë°¡Ä¡°¡ ³ô´Ù.
dumpsys meminfo PID ¸í·É
dumpsys meminfo Ãâ·Â °á°ú¿¡ ³ª¿Â dalvik Ä÷³ÀÇ size, allocated, free Çʵ尪Àº DDMSÀÇ VM Heap ÅÇÀ» ÅëÇؼµµ È®ÀÎÇÒ ¼ö ÀÖ´Ù. °¢°¢ VM Heap ÅÇÀÇ Heap Size, Allocated, Free Ä÷³¿¡ ÇØ´çÇÑ´Ù. DDMSÀÇ VM Heap ÅÇÀÇ Á¤º¸´Â ´Þºò VM¸¸ÀÇ ¸Þ¸ð¸® Á¤º¸ÀÏ »Ó, ¾ÖÇø®ÄÉÀ̼ÇÀÇ native ¶óÀ̺귯¸®°¡ »ç¿ëÇÏ´Â ¸Þ¸ð¸® Á¤º¸´Â Á¦¿ÜµÇ¾ú´Ù.
= Âü°í ¿ø¹® = http://ecogeo.tistory.com/255 http://kohlerm.blogspot.com/2009/04/analyzing-memory-usage-off-your-android.html
|
|
|