【Android 进程保活】oom_adj 值 ( 简介 | 查询进程 PID | 根据进程 PID 查询 oom_adj 值 )
生活随笔
收集整理的這篇文章主要介紹了
【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 psPS 每行的輸出含義 :
- USER : 進程所屬用戶 , ROOT 是權限最高的用戶 , 其它都是各個應用對應的用戶名稱 ;
- PID : 進程 ID ;
- PPID : 進程父 ID ;
- VSZ : Virtual Size 縮寫 , 進程虛擬內存大小 ;
- RSS : Resident Set Size 縮寫 , 該進程實際駐留在內存中的大小 ;
- WCHAN : 休眠進程對應的在內核中的地址 ;
- NAME : 進程名稱 ;
最后看到了熟悉的企鵝進程保活操作 , 有 333 個進程 ;
在 Android Studio 界面中也可以查看進程 ID , 在 Logcat 面板中 , 進程欄中 , 可以看到 kim.hsl.app2 進程的進程 PID 是 11694 ;
在 PS 中對應的該 PID 為 11694 的進程 ;
u0_a356 11694 725 3714484 75520 0 0 S kim.hsl.app2三、查詢進程對應的 oom_adj 值
獲取進程號之后 , 執行如下命令 , 即可查詢進程號對應進程的 oom_adj 值 ;
首先進入 Android 設備 adb shell 命令行 ,
adb shell然后獲取 root 權限 ,
su最后查詢進程號對應進程的 oom_adj 值 ;
cat /proc/11694/oom_adj最終查詢的該進程的 oom_adj 值為 0 , 說明該進程當前處于前臺 , 是前臺進程 ;
查下企鵝的三個進程的 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 值 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Android 进程保活】Low Me
- 下一篇: 【Android 进程保活】oom_ad