0
点赞
收藏
分享

微信扫一扫

【Android 进程保活】oom_adj 值 ( 简介 | 查询进程 PID | 根据进程 PID 查询 oom_adj 值 )

文章目录

  • 一、oom_adj 值简介
  • 二、查询进程号 PID
  • 三、查询进程对应的 oom_adj 值

一、oom_adj 值简介

oom_adj 值是 Linux 内核为每个进程分配的 , 该值可以反映进程的优先级 ;

在内存不足 , 要杀进程 , 回收内存时 , 会根据该 oom_adj 值决定是否回收该进程 ;

oom_adj 值越大 , 对应的进程优先级越低 ;

二、查询进程号 PID

​获取进程号 :​

执行如下命令 , 可以获取 Android 手机的进程号 ;

adb shell ps

​PS 每行的输出含义 :​

  • ​USER​ : 进程所属用户 , ROOT 是权限最高的用户 , 其它都是各个应用对应的用户名称 ;
  • ​PID​ : 进程 ID ;
  • ​PPID​ : 进程父 ID ;
  • ​VSZ​ : Virtual Size 缩写 , 进程虚拟内存大小 ;
  • ​RSS​ : Resident Set Size 缩写 , 该进程实际驻留在内存中的大小 ;
  • ​WCHAN​ : 休眠进程对应的在内核中的地址 ;
  • ​NAME​ : 进程名称 ;

【Android 进程保活】oom_adj 值 ( 简介 | 查询进程 PID | 根据进程 PID 查询 oom_adj 值 )_前台进程

【Android 进程保活】oom_adj 值 ( 简介 | 查询进程 PID | 根据进程 PID 查询 oom_adj 值 )_进程保活_02

最后看到了熟悉的企鹅进程保活操作 , 有 3 3 3 个进程 ;

在 Android Studio 界面中也可以查看进程 ID , 在 Logcat 面板中 , 进程栏中 , 可以看到 kim.hsl.app2 进程的进程 PID 是 11694 ;

【Android 进程保活】oom_adj 值 ( 简介 | 查询进程 PID | 根据进程 PID 查询 oom_adj 值 )_前台进程_03

在 PS 中对应的该 PID 为 11694 的进程 ;

u0_a356      11694   725 3714484  75520 0                   0 S kim.hsl.app2

【Android 进程保活】oom_adj 值 ( 简介 | 查询进程 PID | 根据进程 PID 查询 oom_adj 值 )_oom_adj_04

三、查询进程对应的 oom_adj 值

获取进程号之后 , 执行如下命令 , 即可查询进程号对应进程的 oom_adj 值 ;

首先进入 Android 设备 adb shell 命令行 ,

adb shell

然后获取 root 权限 ,

su

最后查询进程号对应进程的 oom_adj 值 ;

cat /proc/11694/oom_adj

最终查询的该进程的 oom_adj 值为 0 , 说明该进程当前处于前台 , 是前台进程 ;

【Android 进程保活】oom_adj 值 ( 简介 | 查询进程 PID | 根据进程 PID 查询 oom_adj 值 )_android_05

​查下企鹅的三个进程的 oom_adj 值 :​

u0_a295      12420   725 4532232  92244 0                   0 S com.tencent.mm:push
u0_a296 12474 726 1202112 78148 0 0 S com.tencent.mobileqq:TMAssistantDownloadSDKService
u0_a296 12591 726 1231864 84668 0 0 S com.tencent.mobileqq:MSF
  • com.tencent.mm:push : 0 , 前台进程 , 这操作比较骚了 , 哪来了前台进程啊 ~~~
  • com.tencent.mobileqq:TMAssistantDownloadSDKService : 这个进程还带重启的 , 查询的时候 , 进程号不见了 , 发现重启了 , 16 ;
  • com.tencent.mobileqq:MSF : 9 ;

【Android 进程保活】oom_adj 值 ( 简介 | 查询进程 PID | 根据进程 PID 查询 oom_adj 值 )_重启_06

举报

相关推荐

0 条评论