提升服务器性能相关

news2024/11/25 16:51:58

目录

查看是否开启超线程

显示所有逻辑 CPU 及其 HT 对关系

查看NUMA

Isolcpus 隔离

禁止使用中断均衡服务

设置线程名称

设置线程亲和性

taskset工具

使用代码绑定

绑定core需要注意以下几点


查看是否开启超线程

lscpu | grep Thread

显示所有逻辑 CPU 及其 HT 对关系

grep -H . /sys/devices/system/cpu/cpu*/topology/thread_siblings_list

查看NUMA

numactl --hardware

Isolcpus 隔离

默认情况下,进程调度器可能会将进程调度到任何一个 CPU 核心上,因为它要根据负载来均衡计算资源的分配。可以隔离某些逻辑核心,让系统默认情况下永远不会使用这些核心,除非我指定某些进程使用这些核心。要想做到这一点,就要使用到内核参数 isolcpus 了,例如:如果想让系统默认情况下不使用逻辑核心 2,3 和 4,可以将以下内容添加到内核参数列表中:

isolcpus=1,2,3
# 或者
isolcpus=1-3

可直接修改 vim /etc/default/grub

然后重新构建 grub.conf:

grub2-mkconfig -o /boot/grub2/grub.cfg

重启机器后查看

cat /proc/cmdline

禁止使用中断均衡服务

中断均衡会使得孤立核上中断不确定性,导致孤立核上任务实时性能下降。同时避免均衡带来的效益会被cache刷新的开销抵消掉,

关闭中断平衡守护进程

      中断平衡守护进程(irqbalance daemon)会周期性地将中断平均地公平地分配给各个CPU核心,它默认是开启的。为了实现中断绑定,首先需要将这个守护进程关闭。

     利用systemctl status irqbalance查看守护进程的运行状态

     Linux 调优篇 :虚拟化调优(irqbalance 网卡中断绑定)* 贰-CSDN博客

设置线程名称

prctl( PR_SET_NAME, ( unsigned long )p_thread_name );

设置线程亲和性

taskset工具

taskset 3000 ./exc.out  (0x3000: 十六进制掩码)

使用代码绑定

    cpu_set_t mask;                                             // CPU核的集合

    CPU_ZERO( &mask );                                          // 置空

    CPU_SET( 2, &mask );                                        // 设置亲和力值

    CPU_SET( 1, &mask );                                        // 设置亲和力值

    if ( sched_setaffinity( 0, sizeof( mask ), &mask ) == -1 )  // 设置线程CPU亲和力

    {

        printf( "warning: could not set CPU affinity, continuing...\n" );

    }

绑定core需要注意以下几点

1、如果子线程未设置亲和性,则调度核心继承自父线程

2、Isolcpus 设置隔离后的核心不会被系统调度

3、设置亲和性集合需要注意隔离和非隔离的core不能混用

4、设置亲和性集合绑定隔离核心时,只有一个有效。

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

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

相关文章

功能更新|Leangoo领歌免费敏捷工具支持SAFe大规模敏捷框架

Leangoo领歌是一款永久免费的专业的敏捷开发管理工具,提供端到端敏捷研发管理解决方案,涵盖敏捷需求管理、任务协同、进展跟踪、统计度量等。 
 Leangoo可以支持敏捷研发管理全流程,包括小型团队敏捷开发,规模化敏捷SAFe&#xf…

umi4 React项目使用icon集合

umi项目中使用icon集合。 icon集合:https://icones.js.org/ 测试使用这个ion .umirc.ts文件 icons:{autoInstall:{iconify-json/ion: true,//自动安装iconify-json/ion},include: [ion:social-windows-outline],//要使用的必须把icon类名加到include中…

数据集笔记:Telecom Shanghai Dataset

0 数据地址 📱Telecom Shanghai Dataset (kaggle.com) 1 数据描述 该数据集由上海电信提供,包含超过720万条记录,记录了9481部手机通过3233个基站访问互联网的情况,时间跨度为六个月。例如,下图显示了基站的分布情况…

Primavera P6 Calendars 全局日历和项目日历Calendar

Primavera P6 日历基本介绍 Primavera P6 日历特性和功能是项目和进度管理的强大工具。在这里我们将讨论 Primavera P6 中三种最常见的日历类型中的两种:全局日历和项目日历。 Primavera P6 日历的第三种类型是资源日历,它非常专业,在项目中…

数字时代的法律前沿:TikTok与政府监管的博弈

在当今数字化时代,社交媒体已经成为了人们生活的一部分,扮演着沟通、娱乐和信息获取的重要角色。TikTok,作为一款短视频分享应用,在全球范围内迅速崭露头角,吸引了数亿用户。 然而,随着TikTok的崛起&#…

【C++】单例模式【两种实现方式】

目录 一、了解单例模式前的基础题 1、设计一个类,不能被拷贝 2、设计一个类,只能在堆上创建对象 3、设计一个类,只能在栈上创建对象 4、设计一个类,不能被继承 二、单例模式 1、单例模式的概念 2、单例模式的两种实现方式 …

低代码平台,业务开发的“银弹”

目录 一、为什么需要低代码平台 二、低代码平台的搭建能力 三、低代码其他能力 四、写在最后 随着互联网和信息技术的快速发展,各行各业都在积极拥抱数字化转型。在这个过程中,软件开发成为企业实现数字化转型的关键环节。然而,传统的软件开发…

交流信号继电器 DX-31BJ/AC220V JOSEF约瑟 电压启动 面板嵌入式安装

DX系列信号继电器由矩形脉冲激磁,磁钢保持。本继电器为双绕组。工作线圈可为电压型,亦可为电流型。复归线圈为电压型。继电器的工作电流或工作电压为长脉冲,亦可为脉冲不小于20mS的短脉冲。 系列型号 DX-31B信号继电器DX-31BJ信号继电器 D…

【VS2019 Qt5 VTK9.2】临时解决配置相关问题的简单方法

配置报错 编译报错提示(LNK2019或LNK2001) 严重性 代码 说明 项目 文件 行 禁止显示状态 错误 LNK2019 无法解析的外部符号 “__declspec(dllimport) public: __cdecl QVTKOpenGLNativeWidget::QVTKOpenGLNativeWidget(class QWidget *,class QFlags)(_i…

华为gre over ipsec配置案例

除了物理口加入安全域zone外,tunnel也得加入到安全域 一定记得tunnel也得加入zone,这个总爱忘记。 [fw1]firewall zone dmz [fw1-zone-dmz]add interface Tunnel 1 [fw2]firewall zone dmz [fw2-zone-dmz]add interface Tunnel 1

前端Vue 页面滑动监听 拿到滑动的坐标值

前言 前端Vue 页面滑动监听 拿到滑动的坐标值 实现 Vue2写法 mounted() {// 监听页面滚动事件window.addEventListener("scroll", this.scrolling);}, methods: { scrolling() {// 滚动条距文档顶部的距离let scrollTop window.pageYOffset ||document.documentE…

Python爬虫-获取汽车之家车家号

前言 本文是该专栏的第9篇,后面会持续分享python爬虫案例干货,记得关注。 地址:aHR0cHM6Ly9jaGVqaWFoYW8uYXV0b2hvbWUuY29tLmNuL0F1dGhvcnMjcHZhcmVhaWQ9MjgwODEwNA== 需求:获取汽车之家车家号数据 笔者将在正文中介绍详细的思路以及采集方法,废话不多说,跟着笔者直接往…

Spring Boot自动配置原理、实战、手撕自动装配源码

Spring Boot自动配置原理 相比较于传统的 Spring 应用,搭建一个 SpringBoot 应用,我们只需要引入一个注解 SpringBootApplication,就可以成功运行。 前面四个不用说,是定义一个注解所必须的,关键就在于后面三个注解&a…

竞赛选题 深度学习猫狗分类 - python opencv cnn

文章目录 0 前言1 课题背景2 使用CNN进行猫狗分类3 数据集处理4 神经网络的编写5 Tensorflow计算图的构建6 模型的训练和测试7 预测效果8 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 **基于深度学习猫狗分类 ** 该项目较为新颖&a…

系统的讲解 - PHP 接口签名验证

概览 工作中,我们时刻都会和接口打交道,有的是调取他人的接口,有的是为他人提供接口,在这过程中肯定都离不开签名验证。 在设计签名验证的时候,一定要满足以下几点: 可变性:每次的签名必须是不…

Linux环境下安装人大金仓数据库

人大金仓产品简介 金仓数据库管理系统[简称:KingbaseES]是北京人大金仓信息技术股份有限公司(简称人大金仓)自主研发的、具有自主知识产权的商用关系型数据库管理系统(DBMS)。该产品面向事务处理类应用,兼顾各类数据分…

JAVA反射机制中获取字节码文件对象的三种方式

1,(常用)源代码阶段,Class.forName("全类名") 2,(传参)加载阶段 类名.class 3,(前提有对象)运行阶段 对象.getClass()

FPGA UDP RGMII 千兆以太网(1)

1 RGMII 接口 PHY 的 MII 接口有很多种, 例如 MII、 GMII、 RGMII、 SGMII、 XGMII、 TBI、 RTBI 等。其中 RGMII的主要优势在于,它可同时适用于 1000M、 100M、 10M 三种速率,而且接口占用引脚数较少。但也存在缺点,其一, PCB 布线时需要尽可能对数据、控制和时钟线迚行…

Banana Pi BPI-M6(Raspberry Pi 5 替代品)初始设置及固件烧录

Banana Pi BPI-M6:初始设置和镜像烧录 Banana Pi BPI-M6 的首次测试 在上一篇文章中,我比较了Banana Pi BPI-M6和Raspberry Pi 5的硬件特性。两者都拥有出色的硬件技术,在性能方面应该不会有太大的问题。 今天我想测试一下 Banana Pi。作为…

微信小程序使用阿里巴巴矢量图标

一,介绍 微信小程序使用图标有两种方式,一种是在线获取,一种是下载到本地使用, 第一种在线获取的有个缺点就是图标是灰色的,不能显示彩色图标,而且第一种是每次请求资源的,虽然很快&#xff0…