linux获取android界面,Android中 adb shell ps 查看手机中进程信息
adb shell 进入手机后,执行ps就能显示手机里所有正在运行的进程。一、ps命令详细说明1,ps的命令参数:-t -x,-P,-p,-c [pid|name]-t显示进程下的线程列表-x 显示进程耗费的用户时间和系统时间,单位s-P 显示调度策略,通过是bg or fg ,当获取失败将会un和er比之前打印的内容多出了一列PCY,表示进程的调度等级-p 显示进程的优先级和nice等级-c 显
adb shell 进入手机后,执行ps就能显示手机里所有正在运行的进程。
一、ps命令详细说明
1,ps的命令参数:-t -x,-P,-p,-c [pid|name]
-t显示进程下的线程列表
-x 显示进程耗费的用户时间和系统时间,单位s
-P 显示调度策略,通过是bg or fg ,当获取失败将会un和er比之前打印的内容多出了一列PCY,表示进程的调度等级
-p 显示进程的优先级和nice等级
-c 显示进程耗费的CPU时间
[PID]过滤指定进程PID,[name]过滤指定进程NAME
2,直接使用ps:
各列参数的意思:
USER:进程当前用户;
PID(Process Id):当前进程id;
PPID(Process Parent ID):父进程ID;
VSIZE(Virtual Size):当前进程虚拟内存的大小;
RSS(Resident Set Size):实际驻留在内存中的没存大小;
WCHAN:休眠进程在内核中的地址;
PC(program counter):计算机中提供要从[存储器]中取出的下一个指令地址的[寄存器];
NAME:进程状态值及名称;(这个状态不知道根据什么区分的,试了下没有参考价值)
进程状态:
D - 不可中断的睡眠态。
R – 运行态
S – 睡眠态
T – 被跟踪或已停止
Z – 僵尸态
W - 进入内存交换(从内核2.6开始无效)
X - 死掉的进程
< - 高优先级
N - 低优先级
L - 有些页被锁进内存
s - 包含子进程
l - 多线程,克隆线程
*+ - 位于后台的进程组 *
2,根据包名(pkg_name)查看该进程的信息(在Linux中用grep,下面的例子是在windows下,所以用的是findstr);
3, 查看newspage(21650)下的线程信息(暂时用他做什么分析):
4,-x参数:
5,-P 显示调度策略(这个比较有用)
在列属性中增加了一个重要的参数PCY(进程调度等级)
Android进程调度状态:
1).foreground process
2).visible process
3).Service process4
).background process
5).empty process
6,-p 显示进程的优先级和nice等级
第一个是在桌面操作的;第二个是进入newspage的主页面后操作的;
PRIO(priority)
进程优化级
20
NICE
Nice值
0
RTPRI
实时进程优先级
0
SCHED
调度策略
SCHED_OTHER(默认策略)
参考:https://blog.csdn.net/caonima0001112/article/details/50379738
nice与进程调度:
Linux中,使用nice value(以下成为nice值)来设定一个进程的优先级,系统任务调度器根据nice值合理安排调度。
1),nice的取值范围为-20到19。
2),通常情况下,nice的默认值为0。视具体操作系统而定。
3),nice的值越大,进程的优先级就越低,获得CPU调用的机会越少,nice值越小,进程的优先级则越高,获得CPU调用的机会越多。
4),一个nice值为-20的进程优先级最高,nice值为19的进程优先级最低。
5),父进程fork出来的子进程nice值与父进程相同。父进程renice,子进程nice值不会随之改变。
Android中的nice:
由于Android基于Linux Kernel,在Android中也存在nice值。但是一般情况下我们无法控制,原因如下:
1),Android系统并不像其他Linux发行版那样便捷地使用nice命令操作。
2),renice需要root权限,一般应用无法实现。
线程调度:
虽然对于进程的优先级,我们无法控制,但是我们可以控制进程中的线程的优先级。在Android中有两种线程的优先级,一种为Android API版本,另一种是 Java 原生版本。Linux中,使用nice value(以下成为nice值)来设定一个进程的优先级,系统任务调度器根据nice值合理安排调度。
7,-c 显示进程耗费的CPU时间
二、除了ps之外其他的关于进程的重要信息;
参考:https://blog.csdn.net/dfskhgalshgkajghljgh/article/details/51373694
进程的adj值:
进程的adj值和PCY值,决定了系统在资源吃紧的情况下该杀掉哪些进程。通过cat /proc/进程id/oom_adj可以看到当前进程的adj指,比如输入cat /proc/32366/oom_adj(只有root的手机才可以查看这个值)。
更多推荐
所有评论(0)