前言
继续了解一些linux开发使用到的调试手段:
- devmem: 可以在终端直接查看或者修改设备寄存器的值
- top: 用于实时运行系统的监控,包括Linux内核管理的进程或者线程的资源占用情况
devmem
编译内核的时候,需要开启CONFIG_DEVMEM, 可以在终端查看寄存器值。
1 | 需要安装相应的软件包 apt install devmem2 |
top
简介
top命令可以查看系统实时进程状态,显示内核管理的所有进程和线程的概要信息。
top命令显示分为3个区域: 概要区域,列表头,任务区域。另外在概要区域和列表头中间还有一个输入行,通过输入相关快捷键会触发该行的输入(比如g:切换任务域2的显示模式)
参数选项
top命令使用:
1 | top -hv|-bcEeHiOSs1 -d secs -n max -u|U user -p pids -o field -w [cols] |
区域介绍
概要区域:
第1行显示uptime, load averates : 程序名称/当前时间/启动以来的时长/当前登陆系统的用户数/过去1,5,15分钟的CPU平均负载
第2行显示总的任务数,以及处于每个状态的任务数
第3行显示自上次更新以来CPU的百分比状态
- us 没有设置优先级的用户进程,一般默认没有设置
- sy 系统内核进程
- ni 设置了优先级的用户进程
- id 空闲
- wa 等待IO
- hi 硬件中断
- si 软件中断
- st 虚拟机占用的时间
第4行显示物理内存占用情况
第5行显示虚拟内存占用情况
表头区域
可以通过快捷键f/F来控制显示的顺序及是否显示。
- %CPU CPU使用率 自上次更新以来占用的CPU时间百分比,支持SMP时,如果一个进程包含多个线程,那么这个使用率可能超过100%。
- %MEM 一个任务当前占用的物理内存的份额
- GII 组ID
- GROUP 组名
还有许多交互命令可以控制top的显示配置。
行动,才不会被动!
欢迎关注个人公众号 微信 -> 搜索 -> fishmwei,沟通交流。
博客地址: https://fishmwei.github.io
掘金主页: https://juejin.cn/user/2084329776486919