查询与进程调度(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位的二进制位向量。每个位都代表一个特定的事件,例如信号、标志、定时器等。 当一个任务等待一个或多个事件时&…...
深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...
日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...
linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...
相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...
HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...
IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...
html-<abbr> 缩写或首字母缩略词
定义与作用 <abbr> 标签用于表示缩写或首字母缩略词,它可以帮助用户更好地理解缩写的含义,尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时,会显示一个提示框。 示例&#x…...
服务器--宝塔命令
一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行! sudo su - 1. CentOS 系统: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...
