当前位置: 首页 > news >正文

查询与进程调度(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目录下&#xf…...

07对MVC的理解

MVC是一种设计模式,用于将应用程序的不同方面分离开来,以便更容易地管理和维护应用程序。MVC代表模型-视图-控制器,它将应用程序分为三个主要组件:模型(Model):负责管理应用程序的数据和业务逻辑…...

WebSocket与Socket、TCP、HTTP的关系

目录:1、名词解析;2、WebSocket简介与原理;3、WebSocket和Http的关系和异同点;4、WebSocket与Socket的区别;5、Socket和TCP/IP;6、一个应用程序的通信链路;1、基础名词解析:&#xf…...

音频基础知识简述 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 执行时间等,针对一些指标出现异常,可以加入一些报警机制能及时反馈给开发运维。这样&#xf…...

红队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位的二进制位向量。每个位都代表一个特定的事件,例如信号、标志、定时器等。 当一个任务等待一个或多个事件时&…...

谷歌浏览器插件

项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...

.Net框架,除了EF还有很多很多......

文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

Leetcode 3577. Count the Number of Computer Unlocking Permutations

Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...

系统设计 --- MongoDB亿级数据查询优化策略

系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

页面渲染流程与性能优化

页面渲染流程与性能优化详解&#xff08;完整版&#xff09; 一、现代浏览器渲染流程&#xff08;详细说明&#xff09; 1. 构建DOM树 浏览器接收到HTML文档后&#xff0c;会逐步解析并构建DOM&#xff08;Document Object Model&#xff09;树。具体过程如下&#xff1a; (…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量&#xff0c;这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...