性能测试-cpu-线程上下文切换
正文
1、线程上下文切换模拟命令
该命令会在N个CPU核的系统上,产生N个进程,每个进程1024个线程,模拟线程间竞争cpu的场景
stress-ng --cpu `nproc` --pthread 1024 --timeout 60
2、top命令
3、vmstat 1命令
- procs: r显示多少进程在等待,b显示多少进程在不可中断的休眠
- menory:是我拍的显示多少块被换出磁盘,free显示剩下的空闲块,buff正在被用作缓冲区的块,cache正在被用作操作系统的缓存
- swap:现在交换活动,si每秒有多少块正在被换入内存,so每秒有多少块被换出到磁盘
- io:显示了多少块从块设备读取(bi)和写出(bo),通常反应了硬盘IO
- system:显示每秒中断(in)和上下文切换(cs)的数量
- cpu:显示所有的cpu时间花费在各类操作的百分比,包括执行用户代码(非内核),执行系统代码(内核),空闲以及等待IO
4、pidstat -w 5 命令
5、结论
- top:load average一直在增加,且增加的非常大
- cpu的us +sy 约等于100%,us较低,sy较高
- vmstat proces的r就绪队列长度,正在运行和等待cpu进程数很大
- system的in(每秒中断次数)和cs(上下文切换次数)都很大
- free变小,buffer变小,cache变大
- pidstat:cswch自愿上下文切换升高
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具