dumpsys指令

2022-09-26  本文已影响0人  我和你说过

1、命令说明:

Dumpsys用户系统诊断,它运行在设备上,并提供系统服务状态信息
adb shell dumpsys [system serbices]

查询系统支持的所有服务信息

adb shell dumpsys –l     或者  adb shell serverce list

2、参数解析

不同的服务有不同的选项,可以通过这两个是常见的参数查看当前服务的所有参数信息

参数 说明
-h 对于大多数的服务,可以添加-h看到文本的帮助
-c 对于一些服务,可以添加-c查看数据会更友好

3、dumpsys window

dumpsys window -h
Window manager dump options:
 [-a] [-h] [cmd] ...
 cmd may be one of:
   l[astanr]: last ANR information
   p[policy]: policy state
   a[animator]: animator state
   s[essions]: active sessions
   surfaces: active surfaces (debugging enabled only)
   d[isplays]: active display contents
   t[okens]: token list
   w[indows]: window list
   trace: print trace status and write Winscope trace to file
 cmd may also be a NAME to dump windows.  NAME may
   be a partial substring in a window name, a
   Window hex object identifier, or
   "all" for all windows, or
   "visible" for the visible windows.
   "visible-apps" for the visible app windows.
 -a: include all available server state.
 --proto: output dump in protocol buffer format.
msmnile_gvmq:/ $ dumpsys window l
WINDOW MANAGER LAST ANR (dumpsys window lastanr)
 <no ANR has occurred since boot>

4、dumpsys package使用

参数 说明
-h 查看帮助信息
-f 打印intent filter的信息
--checkin 打印出已经登记的库、系统功能、安装包
msmnile_gvmq:/ $ dumpsys package -h
Package manager dump options:
  [-h] [-f] [--checkin] [--all-components] [cmd] ...
    --checkin: dump for a checkin
    -f: print details of intent filters   //打印intent filter的信息
    -h: print this help
    --all-components: include all component names in package dump
  cmd may be one of:
    apex: list active APEXes and APEX session state
    l[ibraries]: list known shared libraries
    f[eatures]: list device features    //列出手机的功能
    k[eysets]: print known keysets
    r[esolvers] [activity|service|receiver|content]: dump intent resolvers
    perm[issions]: dump permissions  获取权限
    permission [name ...]: dump declaration and use of given permission
    pref[erred]: print preferred package settings
    preferred-xml [--full]: print preferred package settings as xml
    prov[iders]: dump content providers
    p[ackages]: dump installed packages
    q[ueries]: dump app queryability calculations
    s[hared-users]: dump shared user IDs
    m[essages]: print collected runtime messages
    v[erifiers]: print package verifier info
    d[omain-preferred-apps]: print domains preferred apps
    i[ntent-filter-verifiers]|ifv: print intent filter verifier info
    version: print database version info
    write: write current settings now
    installs: details about install sessions
    check-permission <permission> <package> [<user>]: does pkg hold perm?
    dexopt: dump dexopt state
    compiler-stats: dump compiler statistics
    service-permissions: dump permissions required by services
    <package.name>: info about given package

cmd子命令

说明

cmd子命令 说明
prov[iders] 获取content providers
p[ackages] 获取安装包基本信息
s[hared-user] 获取共享用户ID的应用
m[essages] 打印运行时收集的信息
v[erifiers] 打印包校验信息
version 打印数据库版本信息
write 写当前位置
<package.name> 输出给定包的信息
installs 安装会话的详细信息
l[ibraries] 列出已知的共享库
f[ibraries] 列出手机的功能
k[eysets] 列出各个包的Signing KeySets
r[esolvers] 获取intent filter
perm[issions] 获取权限
pref[erred] 打印包首选项
preferred-xml [—full] 打印包首选项,xml格式打印

5、dumpsys activity 使用

参数 说明
-a 包括所有可用的服务器状态
-c 包括客户端状态
-p 限制输出为给定的包,例如 dumpsys activity -p com.android.browser
-h 打印帮助信息

cmd子命令

cmd子命令 说明
a[ctivities] activity堆栈状态
r[recents] 最近activity的状态
b[rodacasts] [package_name] [histpry [-s]] 广播状态
i[ntents] [package_name] 挂起的intent状态
p[rocesses] [package_name] 进程状态
o[om] oom管理
perm[issions] url权限授权状态
prov[iders] [comp_spec…] content provider状态
provider [comp_spec] provider客户端状态
s[ervices] [comp_spec…] 服务状态
as[sociations] 跟踪应用程序的关联
service [comp_spec] 服务客户端状态
package [package_name] 给的包的所有状态
all 转储所有的activityes
top 转储栈顶的activity
write 写入所有挂起状态存储
track-associations 允许会话跟踪
untrack-associations 禁用和明确会话跟踪,命令参数可能也是一个comp_spec 转储的activity

6、网络信息查询的的dump指令

dumpsys connectivity

7、dumpsys meminfo [processName|pid]

常用标识

常用标识 说明
Pss PSS (Proportional Set Size) = 进程独占的内存 + 进程程共享的内存 / 映射次数
Private_Dirty Private 在上面已经说过了。 而 Dirty 分为 PageDirty和 pte_dirty. PageDirty就是所说的脏页( 文件读到内存中被修改过, 就会标记为脏页)。 pte_dirty则当 vma 用于 anonymous 的时候, 读写这段 vma 时候, 触发 page fault, 调用 do_anonymous_page , 如果vma_flags中包含 VM_WRITE, 则会通过 pte_mkdirty(entry)标记
Private_Clean 与 Private_Dirty 相反
Swap 一般情况下, 在 Android 中就是 zram, 通过压缩内存页面并将其放入动态分配的内存交换区来增加系统中的可用内存量, 压缩的都是匿名页
msmnile_gvmq:/ $ dumpsys meminfo -h
meminfo dump options: [-a] [-d] [-c] [-s] [--oom] [process]
  -a: include all available information for each process. //所有信息
  -d: include dalvik details.  //需要包含dalvik 详细信息;
  -c: dump in a compact machine-parseable representation.  //dump 成一个压缩的机器解析的表达形式;
  -s: dump only summary of application memory usage. //只dump 应用内存的概要
  -S: dump also SwapPss. //将swap pss 信息也dump 出来
  --oom: only show processes organized by oom adj.
  --local: only collect details locally, don't call process. //只在本地收集信息,只有在-a 或 -s 指定的时候才生效;
  --package: interpret process arg as package, dumping all
             processes that have loaded that package.  //dump 所有加载指定package 的进程;
  --checkin: dump data for a checkin  //将数据dump下来checkin;
  --proto: dump data to proto   //dump proto的数据;
If [process] is specified it can be the name or
pid of a specific process to dump.

dumpsys procstats --hours 3 获取过去三小时内应用的内存占用情况统计信息

8、dumpsys car_service

Android 下面可以使用的Linux执行

1)  pwd   //显示当前工作目录
2)  mkdir mydir  //创建工作目录
3)  cd mydir  //更改工作目录
4)  rmdir mydir //删除工作目录
5)  touch myfile  //创建文件
6)  mv myfile mydir  //移动目录或文件
7)  cp myfile myfir  //复制目录或文件
8)  rm -rf mydir  //删除目录或文件
9)  ls -l myfile  //查看文件最后被编辑时间
10) ls -lu myfile //查看文件最后被访问时间
11) touch -at 01011212 myfile  //修改文件最后被访问时间
12) ls //列出所有文件和目录
13) ls -a //查看所有文件
14) ls -i //显示文件索引节点号
15) ls -l //详细显示
16) ls -m //以逗号分隔

文件显示
1)  cat > myfile  //创建文件并编辑内容(ctrl+D结束编辑)
2)  cat -n myfile  //查看文件
3)  chmod [u/g/o/a][+/-/=][r/w/x] myfile  //更改文件权限
    u-user,g-group,o-others,a-all  .   +-添加,--删除,=-重置   .
    r-read读(4),w-write写(2),x-execute执行(1)
4)  more myfile  //分页往后显示文件(Space空格)
5)  less myfile  //分页自由显示文件(Page Down / Page Up)
6)  head (-10) myfile  //指定显示文件前若干行(默认前10)
7)  tail (-10) myfile  //指定显示文件后若干行(默认后10)

文件内容操作
1)  sort myfile  //对文件内容进行排序
2)  sort -r myfile  //逆序
3)  uniq myfile  //检查文件中的重复内容
4)  grep (-c)‘a’ myfile  //在文件中查找指定内容 (显示行号)
5)  diff myfile01 myfile02  //对不同文件进行比较
6)  diff3 myfile01 myfile02 myfile03  //三个文件
7)  sdiff myfile01 myfile02  //合并
8)  cmp myfile01 myfile02  //通过字节对不同文件进行比较
9)  comm myfile01 myfile02  //对有序文件进行比较
10) cut -b(-c)(-d) 2(3) myfile  //对文件内容进行剪切
11) paste myfile02 myfile01 //对文件内容进行粘贴 02-)01
12) wc (-参数) myfile  //对文件内容进行统计 (c-字符数,w-单词数,l-行数)

压缩
1)  zip myfile.zip myfile  //压缩
2)  zip -d myfile.zip myfile  //添加
3)  zip -m myfile.zip myfile  //删除
4)  unzip -o myfile.zip  //解压(覆盖)
5)  unzip -n myfile.zip  //解压(不覆盖)
6)  zipinfo myfile.zip  //列出压缩文件信息


其他
1)  clear  //清楚屏幕信息
2)  echo xx  //显示文本  x=0  echo $x . echo -e \$x . echo $(pwd)
3)  date  //显示日期和时间(+%y 年  +%m 月  +%d日)
4)  cal  //显示当前日期  cal -y
5)  ps  //查看当前进程  -A(所有)  U  lilei (用户lilei)
6)  kill -9 2315  //终止某一进程  
7)  ps -e | grep Jincheng

df命令
是用来查看linux系统服务器文件系统的磁盘使用情况。可以用该命令来查看已经使用了多少空间,还有多少空间可用。
df命令格式为: df [选线] [文件名]

参数 说明
-a 全部文件系统列表,包含虚拟文件系统
-a 指定显示[scale] size,比如以M,G为单位显示
-i 列出inode的信息
-k 区块为1024字节
-l 显示本地文件系统

top指令
top 通常用top命令观察cpu、内存使用情况

Tasks: 357 total,   1 running, 356 sleeping,   0 stopped,   0 zombie
  Mem:  9488684K total,  6240840K used,  3247844K free,  39661568 buffers
 Swap:  4194300K total,         0 used,  4194300K free,  2354256K cached
800%cpu  60%user   7%nice  66%sys 653%idle   0%iow   8%irq   5%sirq   0%host
   PID USER         PR  NI VIRT  RES  SHR S[%CPU] %MEM     TIME+ ARGS
   504 system       -3 -20  12G  50M  32M S 35.3   0.5  23:53.00 surfaceflinger
   679 root         20   0  12G 4.5M 3.7M S 24.3   0.0  16:16.73 mcucomm
   275 logd         30  10  12G  34M 2.6M S 23.0   0.3  15:02.07 logd
   452 system       -3   0  12G  20M  15M S 12.6   0.2   8:48.28 android.hardware.graphics.composer@2.4-service
  3106 system       20   0  17G 250M 172M S 11.3   2.6   7:18.05 com.incall.apps.navi.service
  2666 u10_system    4 -16  17G 496M  99M S  9.6   5.3   6:02.94 com.incall.apps.speechassistant
  2629 u10_system   10 -10  16G 213M 124M S  7.6   2.2   5:12.33 com.incall.apps.sdalauncher
  1018 root         20   0  12G 2.3M 1.8M S  7.0   0.0   5:00.44 logcat
   461 system       20   0  12G 4.6M 3.9M D  5.3   0.0   3:24.53 android.hardware.spi@1.0-service
参数 说明
PID 进行编号
USER 进程的持有用户
PR 进程运行的优先级,值越小优先级越高,会越早获取CPU的执行权
NI 进程的nice值,表示进程可被执行的优先级的修正数值
VIRT 进程使用虚拟内存
RES 常驻内存
SHR 进程使用的共享内存
S 进程运行状态。(S:休眠;D:不可中断睡眠;R:运行中;T:跟踪/停止;Z:假死中)
%CPU 进行运行时CPU的占用比
%MEM 进程使用的内存占用比
TIME+ 进程占用的CPU总时长
ARGS 进程名

top -p :查看指定进程id的top信息
top -p 3106

Tasks: 1 total,   0 running,   1 sleeping,   0 stopped,   0 zombie
  Mem:  9488684K total,  6278108K used,  3210576K free,  40448000 buffers
 Swap:  4194300K total,         0 used,  4194300K free,  2374052K cached
800%cpu  64%user   0%nice 114%sys 596%idle   7%iow  11%irq   7%sirq   0%host
   PID USER         PR  NI VIRT  RES  SHR S[%CPU] %MEM     TIME+ ARGS
  3106 system       20   0  17G 249M 172M S 17.8   2.6   7:32.93 com.incall.apps.navi.service

top -H -p 3106

  TID USER         PR  NI VIRT  RES  SHR S[%CPU] %MEM     TIME+ THREAD          PROCESS
 4253 system       20   0  17G 254M 172M S  3.6   2.7   2:03.33 Map-Logical-0   com.incall.apps.navi.service
 4251 system       20   0  17G 254M 172M S  2.6   2.7   1:46.48 GNaviMap-GL-0   com.incall.apps.navi.service
 4412 system       20   0  17G 254M 172M S  2.3   2.7   0:22.92 GNaviMap-0      com.incall.apps.navi.service
 4405 system       20   0  17G 254M 172M S  2.0   2.7   0:13.44 Binder:3106_6   com.incall.apps.navi.service
 4413 system       20   0  17G 254M 172M S  1.6   2.7   0:21.08 GNaviMap-1      com.incall.apps.navi.service
 4411 system       20   0  17G 254M 172M S  0.6   2.7   0:35.35 AdrenoOsLib     com.incall.apps.navi.service
 3121 system       24   4  17G 254M 172M S  0.6   2.7   0:05.37 HeapTaskDaemon  com.incall.apps.navi.service
 4428 system       20   0  17G 254M 172M S  0.3   2.7   0:13.49 AdrenoOsLib     com.incall.apps.navi.service
 4100 system       20   0  17G 254M 172M S  0.3   2.7   0:17.45 InfTimerThread  com.incall.apps.navi.service
 4103 system       20   0  17G 254M 172M S  0.3   2.7   0:05.48 ps.navi.service com.incall.apps.navi.service
 3923 system       20   0  17G 254M 172M S  0.3   2.7   0:11.25 GPosService     com.incall.apps.navi.service
10462 system       20   0  17G 254M 172M S  0.0   2.7   0:00.00 gnet_dns_worker com.incall.apps.navi.service
 5897 system       20   0  17G 254M 172M S  0.0   2.7   0:00.00 RxComputationTh com.incall.apps.navi.service
 5896 system       20   0  17G 254M 172M S  0.0   2.7   0:00.00 RxComputationTh com.incall.apps.navi.service
 4421 system       20   0  17G 254M 172M S  0.0   2.7   0:00.00 AdrenoOsUtils   com.incall.apps.navi.service
 4427 system       20   0  17G 254M 172M S  0.0   2.7   0:00.29 AdrenoOsUtils   com.incall.apps.navi.service
......
上一篇下一篇

猜你喜欢

热点阅读