查询与进程调度(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位的二进制位向量。每个位都代表一个特定的事件,例如信号、标志、定时器等。 当一个任务等待一个或多个事件时&…...
循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...
基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...
Typeerror: cannot read properties of undefined (reading ‘XXX‘)
最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能
1. 开发环境准备 安装DevEco Studio 3.1: 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK 项目配置: // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...
pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)
目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 (1)输入单引号 (2)万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...
【SpringBoot自动化部署】
SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一,能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时,需要添加Git仓库地址和凭证,设置构建触发器(如GitHub…...
Python 高效图像帧提取与视频编码:实战指南
Python 高效图像帧提取与视频编码:实战指南 在音视频处理领域,图像帧提取与视频编码是基础但极具挑战性的任务。Python 结合强大的第三方库(如 OpenCV、FFmpeg、PyAV),可以高效处理视频流,实现快速帧提取、压缩编码等关键功能。本文将深入介绍如何优化这些流程,提高处理…...
