【问题标题】:What does /proc/pid/maps mean?/proc/pid/maps 是什么意思?
【发布时间】:2014-08-28 13:00:33
【问题描述】:

当我分析一个应用程序内存问题时,我发现它的映射 (cat /proc/pid/maps) 是这样的:

 903 5fec1000-5fec2000 r--s 00001000 b3:10 98         /system/app/PacProcessor.apk

 904 5fec2000-5fec3000 r--s 00000000 b3:10 98         /system/app/PacProcessor.apk

 905 5fec3000-5fed7000 r--s 00560000 b3:10 125        /system/app/iReader.apk

 906 5fed7000-5ff09000 r--s 0019a000 b3:10 125        /system/app/iReader.apk

 907 5ff09000-5ff0b000 r--s 00043000 b3:10 81         /system/app/Galaxy4.apk

 908 5ff0b000-5ff0c000 r--s 00042000 b3:10 81         /system/app/Galaxy4.apk

这个应用似乎将其他应用的代码加载到它的堆栈中。

如何避免这种内存分配?

【问题讨论】:

  • 进程名称是什么?如果它是一个系统进程,那么它是不可避免的。我猜你必须杀死应用程序本身才能释放这些资源。
  • 是的,它是一个系统应用程序(不是持久的,但安装在 /system/app 中),但我检查了 /system/app 目录中的其他应用程序,他们没有这些分配。

标签: android linux


【解决方案1】:

来自 Linux 上的 proc 手册:

 /proc/[pid]/maps
          A file containing the currently mapped memory regions and  their  access  permissions.   See
          mmap(2) for some further information about memory mappings.

【讨论】:

  • 谢谢,我几乎知道他们的意思,但我不明白为什么这个应用程序有这么多这样的分配。我想减少这种内存分配
猜你喜欢
  • 2018-10-19
  • 2012-04-12
  • 1970-01-01
  • 1970-01-01
  • 2011-04-21
  • 2018-05-25
  • 2010-11-26
  • 2016-06-07
  • 1970-01-01
相关资源
最近更新 更多