如何查看 android 线程 cpu占用率

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何查看 android 线程 cpu占用率相关的知识,希望对你有一定的参考价值。

在 Linux 下 top 工具可以显示 cpu 的平均利用率(user,nice,system,idle,iowait,irq,softirq,etc.),可以显示每个 cpu 的利用率。但是无法显示每个线程的 cpu 利用率情况,这时就可能出现这种情况,总的 cpu 利用率中 user 或 system 很高,但是用进程的 cpu 占用率进行排序时,没有进程的 user 或 system 与之对应。
可以用下面的命令将 cpu 占用率高的线程找出来:
$ ps H -eo user,pid,ppid,tid,time,%cpu,cmd –sort=%cpu
这个命令首先指定参数’H',显示线程相关的信息,格式输出中包含:user,pid,ppid,tid,time,%cpu,cmd,然后再用%cpu字段进行排序。这样就可以找到占用处理器的线程了。
参考技术A 夏赞个360优化大师或鲁大师就可以看到手机信息。。。希望采纳。。谢谢

如何定位cpu占用率高的java线程

如何定位cpu占用率高的java线程

工具:

1

jstack:jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项"-J-d64",Windows的jstack使用方式只支持以下的这种方式。

pidstatpidstat主要用于监控全部或指定进程占用系统资源的情况,如CPU,内存、设备IO、任务切换、线程等。pidstat首次运行时显示自系统启动开始的各项统计信息,之后运行pidstat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。

top:或者jps找到java进程PID,或者 或者  ps -Lfp pid

通过%CPU和 TIME,判断占用的线程TID

 找到TID,转换成16进制,然后在上面(jstack 进程id > ps.txt)导出的文件中搜索,就可以定位到具体的线程,类。 


2、或者:

jstack -l pid > /home/1.tdump

再通过看线程 :pidstat -p  pid(java进程ID) -u -d -t -w -h 1 1000 

 找到TID,转换成16进制,然后在上面(jstack 进程id > 1.tdump)导出的文件中搜索,就可以定位到具体的线程,类。

3、可以下载1.tdump到本地查找

以上是关于如何查看 android 线程 cpu占用率的主要内容,如果未能解决你的问题,请参考以下文章

linux 如何查看cpu已经占用多少百分比

如何定位cpu占用率高的java线程

如何使用CMD命令查看CPU的占用率

cpu的线程越多占用率越低吗?还是取决于核心数?

查看线程linux cpu使用率

查看Java哪个线程占用CPU资源