ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

查看线程

2021-11-19 16:02:57  阅读:122  来源: 互联网

标签:查看 线程 切换 进程 上下文 CPU


通过命令查看CPU上下文切换情况 linux系统可以通过命令统计CPU上下文切换数据 #可以看到整个操作系统每1秒CPU上下文切换的统计  

 

 

其中cs列就是CPU上下文切换的统计。当然,CPU上下文切换不等价于线程切换,很多操作会造成CPU上下文切换:
  • 线程、进程切换
  • 系统调用
  • 中断
查看某一个线程\进程的上下文切换
  • 使用pidstat命令
常用的参数: -u 默认参数,显示各个进程的 CPU 统计信息 -r 显示各个进程的内存使用情况 -d 显示各个进程的 IO 使用 -w 显示各个进程的上下文切换 -p PID 指定 PID # 显示进程5598每一秒的切换情况  

 

 

其中cswch表示主动切换,nvcswch表示被动切换。从统计数据中看到,该进程每秒主动切换次数达到将近500次,因此代码中存在大量的 睡眠\唤醒 操作。  
  • 从进程的状态信息中查看
  通过命令 cat /proc/5598/status 查看进程的状态信息 voluntary_ctxt_switches: 40469351 nonvoluntary_ctxt_switches: 2268 这2项就是该进程从启动到当前总的上下文切换情况。       查看进程线程的方法 windows
  • 任务管理器可以查看进程和线程数,也可以用来杀死进程
  • tasklist 查看进程
  • taskkill 杀死进程
linux
  • ps -fe 查看所有进程
  • ps -fT -p 查看某个进程(PID)的所有线程
  • kill 杀死进程
  • top 按大写 H 切换是否显示线程
  • top -H -p 查看某个进程(PID)的所有线程
Java
  • jps 命令查看所有 Java 进程
  • jstack 查看某个 Java 进程(PID)的所有线程状态
  • jconsole 来查看某个 Java 进程中线程的运行情况(图形界面)
  Linux系统中线程实现方式
  • LinuxThreads linux/glibc包在2.3.2之前只实现了LinuxThreads
  • NPTL(Native POSIX Thread Library)
可以通过以下命令查看系统是使用哪种线程实现  

 

 https://note.youdao.com/ynoteshare/index.html?id=4a6be81d7250f9a0e4c12e077c2f3e88&type=note&_time=1637308644150

标签:查看,线程,切换,进程,上下文,CPU
来源: https://www.cnblogs.com/xiatc/p/15577809.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有