CPU 绑核

news2024/9/24 9:25:39

随笔记录

目录

1. 背景介绍

2. 查询设备CPU 中断核

2.1 查询设备名

2.2 查询设备CPU 中断核

2.2.1  查询本服务上所有设备 CPU 中断核Number

 2.2.2 查询 每个设备cpu 中断核的

3. 确定可绑定CPU 核

3.1 查询cpu 信息

3.2 绑核

3.3 更新group

3.4 重启后查看

4. 绑核执行程序


1. 背景介绍

需要单独cpu 核执行抓包程序。

目标:绑定CPU 中断核之外CPU 核

2. 查询设备CPU 中断核

2.1 查询设备名

# yusur_ctl  查看设备名

[root@LAPTOP-BJ-0216 ~]# 
[root@LAPTOP-BJ-0216 ~]# yusur_ctl
Device swiftn0:
  Firmware version: 03110808
  Firmware date: 23080301
  Product type: KPU SWIFT-2200N Pro 2x10G
  swiftn.ko version: 1.9.3.13
  instanta.ko version: 1.9.3.13
  libinstanta.so version: 1.9.3.13
  SN: S2NX223010034828
  VCCaux: 1.80 V   Temperature: 41.6 C   VCCint: 0.94 V
  Device type: network interface
  swift23f0:
    Port flags=<UP, no SFP, no signal, no link>
    Port speed: 10000 Mbps
    ether: 74:3e:39:00:08:f6
    RX packets 0
    RX fcs errors 0
    TX packets 0
  swift23f1:
    Port flags=<UP, no SFP, no signal, no link>
    Port speed: 10000 Mbps
    ether: 74:3e:39:00:08:f7
    RX packets 0
    RX fcs errors 0
    TX packets 0
Device swiftn1:                        # 目标设备
  Firmware version: 04210007
  Firmware date: 24070301
  Product type: KPU SWIFT-2200N Pro 2x10G
  swiftn.ko version: 1.9.3.13
  instanta.ko version: 1.9.3.13
  libinstanta.so version: 1.9.3.13
  SN: 00155D3CA26F
  VCCaux: 1.78 V   Temperature: 48.0 C   VCCint: 0.85 V
  Device type: customer application
  Customer version: 0 (0)
  swift49f0:
    Port flags=<UP, SFP present, signal detected, link active>
    Port speed: 10000 Mbps
    ether: 00:15:5d:3c:a2:6f
    RX packets 0
    RX fcs errors 0
    TX packets 0
  swift49f1:
    Port flags=<UP, SFP present, signal detected, link active>
    Port speed: 10000 Mbps
    ether: 00:15:5d:3c:a2:70
    RX packets 2144
    RX fcs errors 0
    TX packets 2144
Device swiftn2:
  Firmware version: 03110903
  Firmware date: 24032401
  Product type: KPU SWIFT-2200N Pro 2x10G
  swiftn.ko version: 1.9.3.13
  instanta.ko version: 1.9.3.13
  libinstanta.so version: 1.9.3.13
  SN: S2NX223350000178
  VCCaux: 1.80 V   Temperature: 46.3 C   VCCint: 0.94 V
  Device type: network interface
  swift177f0:
    Port flags=<UP, SFP present, signal detected, link active>
    Port speed: 10000 Mbps
    ether: 74:3e:39:00:0a:28
    RX packets 0
    RX fcs errors 0
    TX packets 0
  swift177f1:
    Port flags=<UP, SFP present, signal detected, link active>
    Port speed: 10000 Mbps
    ether: 74:3e:39:00:0a:29
    RX packets 0
    RX fcs errors 0
    TX packets 0
[root@LAPTOP-BJ-0216 ~]# 

2.2 查询设备CPU 中断核

2.2.1  查询本服务上所有设备 CPU 中断核Number

第一步:查询本服务上所有设备 CPU 中断核Number
# cat /proc/interrupts | grep <设备名称>


[root@LAPTOP-BJ-0216 ~]# 
[root@LAPTOP-BJ-0216 ~]# cat /proc/interrupts | grep swiftn*
 280:          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI 12058624-edge      swiftn0
 281:          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI 25690112-edge      swiftn1
 282:          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0          0  IR-PCI-MSI 92798976-edge      swiftn2
[root@LAPTOP-BJ-0216 ~]# 


###########
注意:
运行命令 cat /proc/irq/280/smp_affinity_list,看到输出 74 时,
这表示中断号 280 的 CPU 亲和性设置为 CPU 核心 74。

这意味着该中断仅被分配给 CPU 核心 74 来处理。

 2.2.2 查询 每个设备cpu 中断核的

第二步:查询 每个设备cpu 中断核的
# cat /proc/irq/<设备cpu 中断核Number>/smp_affinity_list 
# 解释 中断核 <设备cpu 中断核Number> 的中断又被分配给 <其他CPU 核>处理

[root@LAPTOP-BJ-0216 ~]# cat /proc/irq/280/smp_affinity_list 
74
[root@LAPTOP-BJ-0216 ~]# 
[root@LAPTOP-BJ-0216 ~]# cat /proc/irq/281/smp_affinity_list 
67
[root@LAPTOP-BJ-0216 ~]# 
[root@LAPTOP-BJ-0216 ~]# cat /proc/irq/282/smp_affinity_list 
93
[root@LAPTOP-BJ-0216 ~]# 
[root@LAPTOP-BJ-0216 ~]# 

################################################
注意:
解释说明:设备 Swiftn1 的CPU 中断核是 281, 中断又被分配给 67

3. 确定可绑定CPU 核

3.1 查询cpu 信息

# 查询 CPU  信息
# lscpu -e

[root@LAPTOP-BJ-0216 ~]# 
[root@LAPTOP-BJ-0216 ~]# lscpu -e
CPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE MAXMHZ    MINMHZ
0   0    0      0    0:0:0:0       yes    3400.0000 800.0000
1   0    0      1    1:1:1:0       yes    3400.0000 800.0000
2   0    0      2    2:2:2:0       yes    3400.0000 800.0000
3   0    0      3    3:3:3:0       yes    3400.0000 800.0000
......
......
......
......

63  0    0      11   11:11:11:0    yes    3400.0000 800.0000
64  0    0      12   12:12:12:0    yes    3400.0000 800.0000
65  0    0      13   13:13:13:0    yes    3400.0000 800.0000   # cpu 核 66 的L3 
66  0    0      14   14:14:14:0    yes    3400.0000 800.0000
67  0    0      15   15:15:15:0    yes    3400.0000 800.0000
68  0    0      16   16:16:16:0    yes    3400.0000 800.0000
69  0    0      17   17:17:17:0    yes    3400.0000 800.0000
70  0    0      18   18:18:18:0    yes    3400.0000 800.0000
......
......
81  1    1      29   29:29:29:1    yes    3400.0000 800.0000
82  1    1      30   30:30:30:1    yes    3400.0000 800.0000
83  1    1      31   31:31:31:1    yes    3400.0000 800.0000
84  1    1      32   32:32:32:1    yes    3400.0000 800.0000
85  1    1      33   33:33:33:1    yes    3400.0000 800.0000
86  1    1      34   34:34:34:1    yes    3400.0000 800.0000
87  1    1      35   35:35:35:1    yes    3400.0000 800.0000
88  1    1      36   36:36:36:1    yes    3400.0000 800.0000

[root@LAPTOP-BJ-0216 ~]# 

####################
注意:
背景:设备 Swiftn1 的CPU 中断核是 281, 终端又被分配给 67

目标: 为 设备 Swiftn1 绑定CPU 中断核之外的隔离核。

可绑定隔离核目标是:  L1d:L1i:L2:L3 中L3 相同的 CPU 核
比如:63 ~70 都可以(只要不是其他cpu 中断核即可)

CPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE MAXMHZ    MINMHZ
63  0    0      11   11:11:11:0    yes    3400.0000 800.0000
64  0    0      12   12:12:12:0    yes    3400.0000 800.0000
65  0    0      13   13:13:13:0    yes    3400.0000 800.0000   
66  0    0      14   14:14:14:0    yes    3400.0000 800.0000
67  0    0      15   15:15:15:0    yes    3400.0000 800.0000
68  0    0      16   16:16:16:0    yes    3400.0000 800.0000
69  0    0      17   17:17:17:0    yes    3400.0000 800.0000
70  0    0      18   18:18:18:0    yes    3400.0000 800.0000

3.2 绑核

1. 打开配置文件
#  vi /etc/default/grub 

2. 绑核:将 以下命令:
"isolcpus=<隔离核CPU-1,隔离核CPU-2> nohz_full=<隔离核CPU-1,隔离核CPU-2> rcu_nocbs=<隔离核CPU-1,隔离核CPU-2> iommu=pt processor.max_cstate=0 idle=poll"

添加到 GRUB_CMDLINE_LINUX 配置型末端即可。


# 此时欲将 CPU:65,66 设置为隔离核
# isolcpus=65,66 nohz_full=65,66 rcu_nocbs=65,66 iommu=pt processor.max_cstate=0 idle=poll

[root@LAPTOP-BJ-0216 ~]# vi /etc/default/grub 
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
#GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/cs-swap rd.lvm.lv=cs/root rd.lvm.lv=cs/swap rhgb quiet"
GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/cs-swap rd.lvm.lv=cs/root rd.lvm.lv=cs/swap rhgb quiet isolcpus=65,66 nohz_full=65,66 rcu_nocbs=65,66 iommu=pt processor.max_cstate=0 idle=poll"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true
[root@LAPTOP-BJ-0216 ~]# 

3.3 更新group

# CentOs 系统
# grub2-mkconfig –o /boot/efi/EFI/centos/grub.cfg

# kylin (鲲鹏)
#grub2-mkconfig –o /boot/efi/EFI/kylin/grub.cfg

注意:执行完生成命令后,最好重启系统以查看新的引导项是否正常工作

3.4 重启后查看

 查看 comline
#  cat /proc/cmdline

[root@LAPTOP-BJ-0216 ~]# 
[root@LAPTOP-BJ-0216 ~]# cat /proc/cmdline
BOOT_IMAGE=(hd0,gpt2)/vmlinuz-4.18.0-536.el8.x86_64 root=/dev/mapper/cs-root ro crashkernel=auto resume=/dev/mapper/cs-swap rd.lvm.lv=cs/root rd.lvm.lv=cs/swap rhgb quiet isolcpus=65,66 nohz_full=65,66 rcu_nocbs=65,66 iommu=pt processor.max_cstate=0 idle=poll
[root@LAPTOP-BJ-0216 ~]# 

# 隔离核 65,66 已设置为隔离核

4. 绑核执行程序

# 绑核执行程序命令:
 taskset -c <绑定CPU 核Number> *****

# taskset -c 65 python3 a.py

到此已完成CPU 绑核操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2053605.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

9 算术、关系、逻辑、赋值、位操作、三元运算符及其优先级

目录​​​​​​​ 1 运算符基础 1.1 什么是运算符 1.2 什么是表达式 1.3 左操作数和右操作数 1.4 运算符分类 1.4.1 按照操作数个数分类 1.4.2 按照功能分类 1.5 如何掌握运算符 2 算术运算符 2.1 正号和负号 2.2 加、减、乘、除 2.3 取模&#xff08;取余&#…

Java八股整合(MySQL+Redis+Maven)

MySQL 数据库设计三范式 不可再分&#xff0c;部分依赖&#xff0c;传递依赖 主键和外键区别 主键非空约束&#xff0c;唯一性约束&#xff0c;唯一标识一个字段 外键用于和其他表建立连接&#xff0c;是另一张表的主键&#xff0c;可重复可为空可以有多个 为什么不推荐使…

记录一次生产jvm问题的排查

记录一次生产问题的排查 第一天晚上 现象 1、前援反馈页面有接口陆续出现请求超时 2、登录后台服务器top命令查看发现java进程发生高cpu占用情况 3、查看对应业务日志&#xff0c;报数据库连接等待超时-数据库连接池连接无空闲 对应处理 1、临时调大数据库连接池最大连接数限…

如何发布自己的NPM包详细步骤

前言 在前端开发中&#xff0c;将自己编写的 Vue 组件或插件打包并发布到 NPM 上&#xff0c;不仅可以方便自己在其他项目中复用&#xff0c;还能分享给更多的开发者使用。本文将从 NPM 注册、登录与发布流程&#xff0c;及如何通过 Vue CLI 打包插件的角度详细介绍如何发布 V…

C#线程的使用

每个正在操作系统上运行的应用程序都是一个进程&#xff0c;一个进程可以包括一个或多个线程。线程是操作系统分配处理器时间的基本单元&#xff0c;在进程中可以有多个线程同时执行代码。 1、单线程 单线程就是只有一个线程。默认情况下&#xff0c;系统为应用程序分配一个主…

论团体标准的有效期

在当今快速发展的社会中&#xff0c;标准对于规范行业秩序、保障产品和服务质量起着至关重要的作用。其中&#xff0c;团体标准作为标准体系的重要组成部分&#xff0c;以其灵活性和专业性受到了广泛的关注。而团体标准的有效期&#xff0c;则是一个值得深入探讨的重要议题。 团…

2024年最新上榜的文件加密管理软件

文件加密市场风起云涌&#xff0c;后辈迭出&#xff0c;2024年安企神软件在文件加密管理软件市场中备受瞩目&#xff0c;凭借其强大的功能和全面的保护策略&#xff0c;成功上榜并受到广泛认可。以下是对它的详细介绍&#xff1a; 一、产品概述 安企神软件不仅是一款电脑监控…

“软件定义汽车”下的软件虚拟化技术

01.虚拟化技术概述 近年来&#xff0c;随着嵌入式软硬件的高速发展&#xff0c;嵌入式系统产品已融入日常生活的方方面面&#xff0c;在航空航天、车载电子、工业控制等要求更为严苛等领域的应用也更加广泛。特别对汽车领域&#xff0c;每辆车内ECU的使用数量已从21世纪初的30…

定时任务调度`crond` 和 `at` 命令使用

&#x1f600;前言 本篇博文是关于 linux实操篇-定时任务调度crond 和 at 命令&#xff0c;希望你能够喜欢 &#x1f3e0;个人主页&#xff1a;晨犀主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是晨犀&#xff0c;希望我的文章可以帮助到大家&#xff0c;您的满…

【心酸报错】ImportError: failed to find libmagic. Check your installation

目录 报错信息&#xff1a;ImportError: failed to find libmagic. Check your installation按照网络上找的办法修改还是报错&#xff1a;LookupError:Resource punkt not found.下载nltk_data又报错&#xff1a;AttributeError: tuple object has no attribute page_content怀…

软件工程概述(下)

4、软件工程原理 &#xff08;1&#xff09;什么是软件工程&#xff1f; 软件工程是指导计算机软件开发和维护的一门学科。 采用工程的概念、原理、技术和方法来开发与维护软件&#xff0c;把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来&#xf…

【Qt】常用控件QCheckBox

常用控件QCheckBox QCheckBox表示复选按钮&#xff0c;可以允许选中多个。 QCheckBox继承自QAbstractButton 例子&#xff1a;获取复选按钮的取值 使用Qt Designer先大体进行设计 代码实现&#xff1a; #include "widget.h" #include "ui_widget.h"Widge…

【数学建模】趣味数模问题——舰艇追击问题

问题描述 某缉私舰位于走私船以东 d 10 km&#xff0c;走私船以匀速 u 8 km/h 向北沿直线行驶。缉私舰立即以速度 v 12 km/h 追赶。缉私舰使用雷达进行跟踪&#xff0c;保持瞬时速度方向始终指向走私船。求解缉私舰的追逐路线和追上走私船所需的时间。 方法 理论求解&…

阿里巴巴拍立淘API返回值:商品搜索与社交媒体的融合

阿里巴巴拍立淘API返回值在商品搜索与社交媒体融合方面展现出了巨大的潜力和价值。以下是对这一主题的详细分析&#xff1a; 一、拍立淘API在商品搜索中的应用 1. 技术原理 拍立淘API基于图像识别技术&#xff0c;利用深度学习算法对上传的图片进行智能分析&#xff0c;快速…

WebSocket协议解析与Java实践

文章目录 一、HTTP协议与HTTPS协议1.HTTP协议的用处2.HTTP协议的特点3.HTTP协议的工作流程4.HTTPS协议的用处5.HTTPS协议的特点6.HTTPS协议的工作流程 二、WebSocket协议出现的原因1. 传统的HTTP请求-响应模型2. 轮询&#xff08;Polling&#xff09;3. 长轮询&#xff08;Long…

《向量数据库指南》——AI应用长文本与RAG技术爬坡

技术爬坡 长文本的技术爬坡方向 推理质量不能有所下降,如何在保质保量的做长文本的推理,是一件非常困难的事。 解决了能力问题之后,还要解决贵且慢的问题。前面讲到两个瓶颈,一个是推理成本会特别高,一个是首token会特别慢。在一个阶段解决好这两个问题之后,待上下文窗口…

深度学习基础案例3--构建CNN卷积神经网络实现对不同天气的识别(测试集准确率百分之90+)

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 基础阶段目标目标 熟悉CNN、RNN神经网络&#xff0c;了解yolo、transfomer等模型熟练使用Pytorch框架&#xff0c;了解tensorflow 本次目标 了解CNN神经网络…

使用ToDesk云电脑3个月,这5个功能点越用越爽!

在过去的三个月里&#xff0c;小埋 有幸 深度 体验了ToDesk云电脑这一创新科技产品&#xff0c;它不仅彻底改变了我的工作方式&#xff0c;还让我在日常学习和娱乐中享受到了前所未有的便捷与高效。 下面就跟着小埋&#xff0c;一起来看看 ToDesk云电脑使用体验极佳的五大功能特…

解决银河麒麟V10登录循环的方法

解决银河麒麟V10登录循环的方法 一&#xff1a;进入命令行二&#xff1a;删除.Xauthority文件三&#xff1a;重启系统 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 在使用银河麒麟桌面操作系统V10时&#xff0c;有时可能会遇到一个令人头…

JavaScript - 对象

Array 数组 定义 var 变量名 new Array(元素列表)&#xff1b;//方式一 var 变量名 [ 元素列表 ]&#xff1b;//方式二 访问 arr[ 索引] 值&#xff1b; 属性 length : 设置或返回数组中元素的数量 方法 forEach() : 遍历数组中每个有值的元素&…