查询与进程调度(CFS)相关信息
目录
查询与进程相关的调度信息
查看CFS调度信息
CPU相关的信息
CFS就绪队列的总运行时间
实时队列与deadline调度的相关信息
所有进程相关的信息
查询与进程相关的调度信息
进程的nice值,优先级,调度策略,vruntime等信息。在proc目录下,以下是查询147号进程的调度信息。
cat /proc/3675/sched
update-notifier (3675, #threads: 4) //进程名称,ID:3675 以及线程数4
-------------------------------------------------------------------
se.exec_start : 26628458.370080 //进程总执行时间
se.vruntime : 89527.417357 //虚拟运行时间
se.sum_exec_runtime : 142.850903 //总运行时间
se.nr_migrations : 9 //发生9次迁移,
nr_switches : 727 //727次上下文切换
nr_voluntary_switches : 648 //主动调度次数
nr_involuntary_switches : 79 //被抢占次数
se.load.weight : 1048576//进程权重
se.runnable_weight : 1048576//
se.avg.load_sum : 58
se.avg.runnable_load_sum : 58
se.avg.util_sum : 59392
se.avg.load_avg : 0//量化负载
se.avg.runnable_load_avg : 0
se.avg.util_avg : 0 //进程的量化能力
se.avg.last_update_time : 26628458370048
se.avg.util_est.ewma : 9
se.avg.util_est.enqueued : 0
policy : 0//调度策略 SCHED_NORMAL
prio : 120//优先级
clock-delta : 14
mm->numa_scan_seq : 0
numa_pages_migrated : 0
numa_preferred_nid : -1
total_numa_faults : 0
current_node=0, numa_group_id=0
numa_faults node=0 task_private=0 task_shared=0 group_private=0 group_shared=0
root@ubuntu:/home/wy/release#
调度相关的统计 需要配置CONFIG_SCHEDSTATS
先执行 echo 1 > /proc/sys/kernel/sched_schedstats
再次查看,多出来好多statistics信息
cat /proc/3675/sched
update-notifier (3675, #threads: 4)
-------------------------------------------------------------------
se.exec_start : 26666000.266305
se.vruntime : 48799.679246
se.sum_exec_runtime : 144.183408
se.nr_migrations : 11se.statistics.sum_sleep_runtime : 0.000000
se.statistics.wait_start : 0.000000
se.statistics.sleep_start : 0.000000
se.statistics.block_start : 0.000000
se.statistics.sleep_max : 0.000000
se.statistics.block_max : 0.000000
se.statistics.exec_max : 0.000000
se.statistics.slice_max : 0.000000
se.statistics.wait_max : 0.000000
se.statistics.wait_sum : 0.000000
se.statistics.wait_count : 0
se.statistics.iowait_sum : 0.000000
se.statistics.iowait_count : 0
se.statistics.nr_migrations_cold : 0
se.statistics.nr_failed_migrations_affine : 0
se.statistics.nr_failed_migrations_running : 0
se.statistics.nr_failed_migrations_hot : 0
se.statistics.nr_forced_migrations : 0
se.statistics.nr_wakeups : 0
se.statistics.nr_wakeups_sync : 0
se.statistics.nr_wakeups_migrate : 0
se.statistics.nr_wakeups_local : 0
se.statistics.nr_wakeups_remote : 0
se.statistics.nr_wakeups_affine : 0
se.statistics.nr_wakeups_affine_attempts : 0
se.statistics.nr_wakeups_passive : 0
se.statistics.nr_wakeups_idle : 0
avg_atom : 0.194579
avg_per_cpu : 13.107582
nr_switches : 741
nr_voluntary_switches : 662
nr_involuntary_switches : 79
se.load.weight : 1048576
se.runnable_weight : 1048576
se.avg.load_sum : 98
se.avg.runnable_load_sum : 98
se.avg.util_sum : 100391
se.avg.load_avg : 0
se.avg.runnable_load_avg : 0
se.avg.util_avg : 0
se.avg.last_update_time : 26666000266240
se.avg.util_est.ewma : 8
se.avg.util_est.enqueued : 1
policy : 0
prio : 120
clock-delta : 15
mm->numa_scan_seq : 0
numa_pages_migrated : 0
numa_preferred_nid : -1
total_numa_faults : 0
current_node=0, numa_group_id=0
numa_faults node=0 task_private=0 task_shared=0 group_private=0 group_shared=0
查看CFS调度信息
Sched Debug Version: v0.11, 5.4.0-26-generic #30-Ubuntu
ktime : 2270227.937775
sched_clk : 2270675.741916
cpu_clk : 2270509.286495
jiffies : 4295459310
sched_clock_stable() : 1sysctl_sched.sysctl_sched_latency : 18.000000.sysctl_sched_min_granularity : 2.250000.sysctl_sched_wakeup_granularity : 3.000000.sysctl_sched_child_runs_first : 0.sysctl_sched_features : 2059067.sysctl_sched_tunable_scaling : 1 (logarithmic)
- 和调度相关的sysctl_sched的值
- 调度周期sysctl_sched_latency为 18ms.
- 调度最小粒度为2.25ms
- 唤醒最小粒度 3ms
- fork调用完成之后,禁止子进程先运行
CPU相关的信息
cpu#0, 2904.003 MHz.nr_running : 1.nr_switches : 360530.nr_load_updates : 0.nr_uninterruptible : 3.next_balance : 4295.459320.curr->pid : 11123.clock : 2270510.005225.clock_task : 2270510.005225.avg_idle : 1000000.max_idle_balance_cost : 500000
- nr_running 有1个进程在就绪队列里
- nr_switches 就绪队列发生进程切换的次数
- nr_load_updates 就绪队列里的cpu_load[]平滑负载更新的次数。
- next_balance 下一次做负载均衡的时间。
- curr->pid,正在运行的PID
- clock和clock_task:当前系统采样的时刻。
CFS就绪队列的总运行时间
cfs_rq[0]:/system.slice/containerd.service.exec_clock : 0.000000.MIN_vruntime : 0.000001.min_vruntime : 820.991457.max_vruntime : 0.000001.spread : 0.000000.spread0 : -127322.729964.nr_spread_over : 0.nr_running : 0.load : 0.runnable_weight : 0.load_avg : 0.runnable_load_avg : 0.util_avg : 0.util_est_enqueued : 0.removed.load_avg : 0.removed.util_avg : 0.removed.runnable_sum : 0.tg_load_avg_contrib : 0.tg_load_avg : 0.throttled : 0.throttle_count : 0.se->exec_start : 2270382.435692.se->vruntime : 57637.719433.se->sum_exec_runtime : 1692.348700.se->load.weight : 1048576.se->runnable_weight : 2.se->avg.load_avg : 0
- exec_clock :CFS就绪队列的总运行时间;
- min_vruntime:表示CFS就绪队列的红黑树中最左边节点的 vruntime;
- max_vrunrime:CFS就绪队列的红黑树中最右边节点的vruntime;
- nr_running :CFS就绪队列中的进程数
- load:CFS就绪队列的总权重
- runnable_weight:CFS就绪队列中可运行状态的进程总权重
- load_avg:调度队列中的量化负载,这是CFS就绪队列中所有进程的量化负载之和
- runnable_load_avg:CFS就绪队列里所有可运行状态下的进程总量化负载
- util_avg:CFS就绪队列当前的量化计算能力
实时队列与deadline调度的相关信息
rt_rq[0]:/system.slice/cups-browsed.service.rt_nr_running : 0.rt_nr_migratory : 0.rt_throttled : 0.rt_time : 0.000000.rt_runtime : 0.000000dl_rq[0]:.dl_nr_running : 0.dl_nr_migratory : 0.dl_bw->bw : 996147.dl_bw->total_bw : 0
所有进程相关的信息
runnable tasks:S task PID tree-key switches prio wait-time sum-exec sum-sleep
-----------------------------------------------------------------------------------------------------------S kthreadd 2 127693.921719 338 120 0.000000 61.877558 0.000000 0 0 /I rcu_gp 3 14.125023 2 100 0.000000 0.003748 0.000000 0 0 /I rcu_par_gp 4 16.125400 2 100 0.000000 0.002300 0.000000 0 0 /I kworker/0:0H 6 3901.743231 7 100 0.000000 0.123376 0.000000 0 0 /I mm_percpu_wq 9 21.695937 2 100 0.000000 0.003137 0.000000 0 0 /S ksoftirqd/0 10 127884.405645 1528 120 0.000000 55.672180 0.000000 0 0 /S migration/0 12 0.000000 744 0 0.000000 28.640041 0.000000 0 0 /S idle_inject/0 13 0.000000 3 49 0.000000 0.005038 0.000000 0 0 /S cpuhp/0 14 9840.872379 10 120 0.000000 0.317368 0.000000 0 0 /I kthrotld 154 2441.635038 2 100 0.000000 0.033174 0.000000 0 0 /S irq/26-pciehp 157 0.000000 3 49 0.000000 0.215568 0.000000 0 0 /S irq/30-pciehp 161 0.000000 3 49 0.000000 0.140429 0.000000 0 0 /S irq/34-pciehp 165 0.000000 3 49 0.000000 0.190453 0.000000 0 0 /S irq/38-pciehp 169 0.000000 3 49 0.000000 0.139489 0.000000 0 0 /S irq/42-pciehp 173 0.000000 3 49 0.000000 0.139024 0.000000 0 0 /S irq/46-pciehp 177 0.000000 3 49 0.000000 0.177426 0.000000 0 0 /S irq/50-pciehp 181 0.000000 3 49 0.000000 0.086663 0.000000 0 0 /S irq/54-pciehp 185 0.000000 3 49 0.000000 0.122572 0.000000 0 0 /I scsi_tmf_1 192 2450.674661 2 100 0.000000 0.040843 0.000000 0 0 /Ivfio-irqfd-clea 194 2450.675783 2 100 0.000000 0.078805 0.000000 0 0 /Icharger_manager 227 2589.239305 2 100 0.000000 0.035306 0.000000 0 0 /I mpt/0 297 3102.875515 2 100 0.000000 0.134915 0.000000 0 0 /Ikworker/u256:28 365 128003.470404 5326 120 0.000000 333.547859 0.000000 0 0 /I kworker/0:1H 377 127827.693809 1669 100 0.000000 242.858239 0.000000 0 0 /Svmware-vmblock- 492 1.857542 5 120 0.000000 0.497505 0.000000 0 0 /system.slice/run-vmblock\x2dfuse.mountS loop6 494 7943.387963 84 100 0.000000 21.071145 0.000000 0 0 /S loop8 497 22417.738300 78 100 0.000000 16.332343 0.000000 0 0 /
相关文章:
查询与进程调度(CFS)相关信息
目录 查询与进程相关的调度信息 查看CFS调度信息 CPU相关的信息 CFS就绪队列的总运行时间 实时队列与deadline调度的相关信息 所有进程相关的信息 查询与进程相关的调度信息 进程的nice值,优先级,调度策略,vruntime等信息。在proc目录下…...
07对MVC的理解
MVC是一种设计模式,用于将应用程序的不同方面分离开来,以便更容易地管理和维护应用程序。MVC代表模型-视图-控制器,它将应用程序分为三个主要组件:模型(Model):负责管理应用程序的数据和业务逻辑…...
WebSocket与Socket、TCP、HTTP的关系
目录:1、名词解析;2、WebSocket简介与原理;3、WebSocket和Http的关系和异同点;4、WebSocket与Socket的区别;5、Socket和TCP/IP;6、一个应用程序的通信链路;1、基础名词解析:…...
音频基础知识简述 esp-sr 上手指南
此篇博客先对音频基础知识进行简要叙述,然后帮助读者入门 esp-sr SDK。 1 音频的基本概念 1.1 声音的本质 声音的本质是波在介质中的传播现象,声波的本质是一种波,是一种物理量。 两者不一样,声音是一种抽象的,是声…...
Flex弹性布局一文通【最全Flex教学】
文章目录一.Flex布局1.1 传统布局和flex布局1.1.1 传统布局1.1.2 flex弹性布局1.2 flex初步体验1.3 布局原理二.常见Flex属性2.1 常见父项属性2.2 flex-direction主轴的方向2.3 justify-content设置主轴上的子元素排列方式2.4 设置子元素是否flex-wrap换行2.5 align-itmes设置侧…...
Navicat使用教程
Navicat:一个可以对别人的数据库进行操作的软件(需要与如mysql等数据库配套使用) 1. 下载mysql MySQL :: Download MySQL Community Server (Archived Versions) 下载上面那个版本 下载下来是个压缩包,解压 2.配置mysql (1)在…...
35岁测试人该何去何从?10年工作经验的我,只不过是一年的工作经验用了10年......
如果到了这个年龄,还是初级测试,或者只会一些简单的自动化测试,那么真的是不好干了。 35的年龄,企业对员工是有另一层面的考量。 简单来说,就是年龄上去了,能力也要上去,要么是技术专家&#…...
SpringBoot 项目中集成 Prometheus 和 Grafana
项目上线后,除了能保障正常运行以外,也需要服务运行的各个指标进行监控,例如 服务器CPU、内存使用占比,Full GC 执行时间等,针对一些指标出现异常,可以加入一些报警机制能及时反馈给开发运维。这样…...
红队APT——反朔源流量加密CSMSF证书指纹C2项目CDN域前置
目录 0x01 背景交代 0x02 常见红蓝对抗中红队面临问题 0x03 蓝队发现处置情况...
Linux环境下实现并详细分析c/cpp线程池(附源码)
一、线程池原理 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 线程池是一种多线程处理形式,处理过程中将任务添加到…...
移动web(三)
her~~llo,我是你们的好朋友Lyle,是名梦想成为计算机大佬的男人! 博客是为了记录自我的学习历程,加强记忆方便复习,如有不足之处还望多多包涵!非常欢迎大家的批评指正。 媒体查询 目标:能够根据…...
macbook怎么运行exe文件 mac打开exe文件的三大方法
exe文件是Windows系统的可执行文件,虽然Mac系统上无法直接打开exe文件,但是你可以在Mac电脑上安装双系统或者虚拟机来实现mac电脑上运行exe文件。除了这两种方法之外,你还可以在Mac电脑上使用类虚拟机软件打开exe文件,这三种方法各…...
GoldenGate(OGG)高可用XAG部署
前言: 本文档主要描述通过Oracle Grid Infrastructure Agents (XAG)基于Oracle RAC实现GoldenGate(OGG)软件高可用的实施操作 环境信息: 源端 目标端 节点一IP 节点二IP 192.168.1.84 192.168.1.86 节点一IP 节点二IP 192.168.1.200 192.168.1.210 VIP 192.…...
如何使用Docker容器部署O2OA(翱途)开发平台与OnlyOffice的集成版本?
O2OA(翱途)开发平台[下称O2OA平台或者O2OA]默认可以和OnlyOffice进行集成来实现在线文档编辑以及流程集成。开发者可以直接安装O2OA官网的OnlyOfficeO2Server的Docker版本用于体验。本文将详细介绍如何安装O2OA OnlyOffice的Docker版本。OnlyOffice Docs Sever可以单独安装,O2…...
springboot复习(黑马)(持续更新)
学习目标基于SpringBoot框架的程序开发步骤熟练使用SpringBoot配置信息修改服务器配置基于SpringBoot的完成SSM整合项目开发一、SpringBoot简介1. 入门案例问题导入SpringMVC的HelloWord程序大家还记得吗?SpringBoot是由Pivotal团队提供的全新框架,其设计…...
K_A16_001 基于STM32等单片机驱动HX711称重模块 串口与OLED0.96双显示
K_A16_001 基于STM32等单片机驱动HX711称重模块 串口与OLED0.96双显示一、资源说明二、基本参数参数引脚说明三、驱动说明对应程序:四、部分代码说明1、接线引脚定义1.1、STC89C52RCHX711称重模块1.2、STM32F103C8T6HX711称重模块五、基础知识学习与相关资料下载六、视频效果展…...
单例模式之饿汉式
目录 1 单例模式的程序结构 2 饿汉式单例模式的实现 3 饿汉式线程安全 4 防止反射破坏单例 5 总结 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。所谓单例就是在系统中只有一个该类的实例,并且提供一个访问该实例的全局…...
软件测试培训三个月,找到工作了11K,面试总结分享给大家
功能方面:问的最多的就是测试流程,测试计划包含哪些内容,公司人员配置,有bug开发认为不是 bug怎么处理,怎样才算是好的用例,测试用例设计方法(等价类,边界值等概念方法)&…...
Hbase备份与恢复工具Snapshot的基本概念与工作原理
数据库都有相对完善的备份与恢复功能。备份与恢复功能是数据库在数据意外丢失、损坏下的最后一根救命稻草。数据库定期备份、定期演练恢复是当下很多重要业务都在慢慢接受的最佳实践,也是数据库管理者推荐的一种管理规范。HBase数据库最核心的备份与恢复工具——Sna…...
RTOS中事件集的实现原理以及实用应用
事件集的原理 RTOS中事件集的实现原理是通过位掩码来实现的。事件集是一种用于在任务之间传递信号的机制。在RTOS中,事件集通常是一个32位的二进制位向量。每个位都代表一个特定的事件,例如信号、标志、定时器等。 当一个任务等待一个或多个事件时&…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...
Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...
多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验
一、多模态商品数据接口的技术架构 (一)多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如,当用户上传一张“蓝色连衣裙”的图片时,接口可自动提取图像中的颜色(RGB值&…...
MVC 数据库
MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...
linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...
