查看线程信息
使用 ts
命令查看操作系统中所有线程的状态信息。
[root@sylixos:/root]# ts
thread show >>
NAME TID PID PRI STAT LOCK SAFE DELAY PAGEFAILS FPU CPU
---------------- ------- ----- --- ---- ---- ---- ---------- --------- --- ---
t_idle0 4010000 0 255 RDY 0 YES 0 0 0
t_idle1 4010001 0 255 RDY 0 YES 0 0 1
t_itimer 4010002 0 20 SLP 0 YES 33239 0 1
t_isrdefer 4010003 0 0 SEM 0 YES 0 0 1
t_except 4010004 0 0 SEM 0 YES 0 0 1
t_log 4010005 0 60 MSGQ 0 YES 0 0 1
t_power 4010006 0 254 SLP 0 YES 400 0 0
t_hotplug 4010007 0 250 SEM 0 YES 394 0 1
t_reclaim 4010009 0 253 MSGQ 0 YES 0 0 1
t_sync 401000a 0 252 SLP 0 1380 0 0
t_sdhcisdio 401000b 0 197 SEM 0 0 0 0
t_dcwpipe 401000c 0 160 SEM 0 0 0 1
t_tpsfs 401000d 0 160 SLP 0 428 0 0
t_netjob 401000e 0 110 SEM 0 YES 0 0 1
t_netjob 401000f 0 110 SEM 0 YES 0 0 0
t_netproto 4010010 0 110 MSGQ 0 YES 39 0 USE 0
t_snmp 4010011 0 110 MSGQ 0 YES 0 0 0
t_ftpd 4010012 0 160 MSGQ 0 0 0 1
t_telnetd 4010013 0 160 MSGQ 0 YES 0 0 1
t_nettxq 4010014 0 110 MSGQ 0 YES 0 0 1
t_xinput 4010017 0 200 SEM 0 0 0 1
t_tshell 401001a 0 150 RDY 1 0 0 1
t_ptyserver 401001d 0 160 JOIN 0 0 0 1
t_ptyproc 401001e 0 150 SEM 0 0 0 USE 0
t_tshell 401001f 0 150 SEM 0 0 0 1
thread: 25
ts
命令的每一列含义如下所示:
- NAME: 线程名字。
- TID: 线程 ID(16 进制数字)。
- PID: 进程 ID(10 进制数字)。
- PRI: 线程优先级(数值越大优先级越低)。
- STAT: 线程状态(例如:RDY 代表当前线程为就绪态)。
- LOCK: 当前线程是否被锁定调度。
- SAFE: 当前线程是否进入线程安全状态。
- DELAY: 当前线程的延时时间。
- PAGEFAILS: 当前线程是否存在缺页。
- FPU: 当前线程是否存在浮点运算。
- CPU: 当前线程运行的 CPU 号。
一些内核线程说明:
名称 | 说明 |
---|---|
t_idle0/1/2/3 | 空闲线程,每个核心对应一个,最低优先级 |
t_itimer | 系统普通定时器周期服务线程 |
t_isrdefer | 中断服务线程,最高优先级,可配置每核心一个 |
t_except | 异常服务现场,最高优先级 |
t_log | 日志线程,printk会用到 |
t_power | 电源管理线程 |
t_hotplug | 热插拔线程,检查网线、usb,sd卡等插拔事件 |
t_reclaim | 资源回收线程 |
t_sync | 磁盘自动同步线程 |
t_tpsfs | tpsfs文件系统服务线程 |
t_netjob | 网络接收工作队列,每核心一个 |
t_nettxq | 网络发送线程,可选 |
t_netproto | 网络协议栈处理线程 |
t_snmp | snmp网络服务线程 |
t_ftpd | ftp网络服务线程 |
t_telnetd | telnet网络服务线程 |
t_ptyserver | 虚拟终端监听服务线程 |
t_ptyproc | 虚拟中断命令执行线程 |
t_tshell | shell服务线程,每启动一个shell端口增加一个 |