Linux下多核CPU指定程序运行的核

设置程序在指定CPU核心运行

一、如何查看程序运行的CPU信息

1.1 查看当前系统CPU有几个核心

查看CPU核心数量:lscpu

在这里插入图片描述

1.2 查看程序的PID

ps aux|grep cpu_test

1.3 查看程序可运行的CPU

taskset -c -p pid

1.4 设置程序在指定核心上运行

1.4.1 通过运行时的参数设置

taskset -c 1 ./cpu_test

1.4.2 通过代码设置

#define _GNU_SOURCE
#include <stdio.h>
#include <sched.h>
int main() {
        cpu_set_t mask;
        CPU_ZERO(&mask);
        CPU_SET(1,&mask);

        if(sched_setaffinity(0,sizeof(mask),&mask)== -1)
        {
                perror("sched setaffinity");
                return -1;
        }
    while(1)
    {
        printf("Hello, World!\n");
        sleep(1);

    }
    return 0;
}

二、未设置程序在指定CPU核心运行

// cpu_test.c
#include <stdio.h>
int main() {

    while(1)
    {
        printf("Hello, World!\n");
        sleep(1);

    }
    return 0;
}

查看程序的PID

在这里插入图片描述

查看程序可运行的核

在这里插入图片描述

得出该程序可以在0-3 4个核上运行。

三、设置程序在指定CPU核心运行

假设我们要使程序运行在第2个核上:

#define _GNU_SOURCE
#include <stdio.h>
#include <sched.h>
int main() {
        cpu_set_t mask;
        CPU_ZERO(&mask);
        CPU_SET(1,&mask);

        if(sched_setaffinity(0,sizeof(mask),&mask)== -1)
        {
                perror("sched setaffinity");
                return -1;
        }
    while(1)
    {
        printf("Hello, World!\n");
        sleep(1);

    }
    return 0;
}

查看程序的PID

在这里插入图片描述

查看程序可运行的CPU核

在这里插入图片描述

得出设置成功,已将程序绑定在CPU的第2个核上。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux系统——http协议介绍

目录 引言——Internet起源 一、http协议——超文本传输协议 1.http相关概念 2.访问浏览器的过程 3.http协议通信过程 4.http相关技术 4.1WEB开发语言 4.2html 4.3CSS 4.4JS 5.MIME——Multipurpose Internet Mail Extensions 多用途互联网邮件扩展 6.URI URN URL的…

【CentOS】Linux 文件与目录管理

目录 1、目录的切换、新增和删除 &#xff08;1&#xff09;cd (change directory&#xff0c;切换目录) &#xff08;2&#xff09;pwd (显示目前所在的目录) &#xff08;3&#xff09;mkdir (make directory&#xff0c;建立新目录 ) &#xff08;4&#xff09;rmdir (…

leetcode:494.目标和

解题思路&#xff1a;1.因为每个数字都有正负两种选择&#xff0c;所以可以采用回溯算法。&#xff08;会超时&#xff09; 2.分成两个集合&#xff0c;分别为正数集合&#xff08;left&#xff09;和负数&#xff08;right&#xff09;集合。 left right Sum ---> righ…

阿里云服务器操作系统有哪些?如何选择?

阿里云服务器镜像怎么选择&#xff1f;云服务器操作系统镜像分为Linux和Windows两大类&#xff0c;Linux可以选择Alibaba Cloud Linux&#xff0c;Windows可以选择Windows Server 2022数据中心版64位中文版&#xff0c;阿里云服务器网aliyunfuwuqi.com来详细说下阿里云服务器操…

力扣OJ题——相交链表

题目&#xff1a;160. 相交链表 给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点&#xff0c;返回 null 思路一&#xff08;暴力求解&#xff09;&#xff1a; A链表的每个节点依次跟B链表中节点进行…

芯课堂 | 华芯微特系列芯片CAN中断配置

​今天小编给大家带来的是华芯微特全系列芯片如何配置CAN中断模块的详细介绍&#xff0c;包括CAN各自中断以及错误处理方式&#xff0c;大家一起来看看吧。 Part 1&#xff1a;CANRX中断 CAN接受和发送模块各有64位深的FIFO用于缓存&#xff0c;如果像上图一样打开了RX非空中断…

java面试题之redis篇

1.redis 中的数据类型有哪些 随着 Redis 版本的更新&#xff0c;后面又支持了四种数据类型&#xff1a; BitMap&#xff08;2.2 版新增&#xff09;、HyperLogLog&#xff08;2.8 版新增&#xff09;、GEO&#xff08;3.2 版新增&#xff09;、Stream&#xff08;5.0 版新增&am…

C#||应用框体设计计算器

题目&#xff1a; 设计一个简单计算器 思路&#xff1a; 首先在应用框体中设计自己喜欢的计算器格式&#xff0c;接着编辑其中的函数。抽取一个Call函数用来显示从键盘输入的数字&#xff0c;cleanall()函数进行清屏操作&#xff0c;mode&#xff08;&#xff09;函数进行四…

Android EditText关于imeOptions的设置和响应

日常开发中&#xff0c;最绕不开的一个控件就是EditText&#xff0c;随之避免不了的则是对其软键盘事件的监听&#xff0c;随着需求的不同对用户输入的软键盘要求也不同&#xff0c;有的场景需要用户输入完毕后&#xff0c;有一个确认按钮&#xff0c;有的场景需要的是回车&…

ChatGPT如何提供实用且高质量的建议和指导,提高编程效率和准确性

ChatGPT4.0的功能包括&#xff1a; 无限制ChatGPT模型使用 GPT-4模型使用 GPT-4图像分析功能 GPT-4联网功能 GPT-4高级数据分析功能 GPT-4高级插件功能 DALLE-3高级AI绘图功能 如何能高效地处理文本、文献查阅、PPT编辑、编程、绘图和论文写作已经成为您成功的关键。而 …

代码随想录算法训练营第二十三天|669. 修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树

669. 修剪二叉搜索树 刷题https://leetcode.cn/problems/trim-a-binary-search-tree/description/文章讲解https://programmercarl.com/0669.%E4%BF%AE%E5%89%AA%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91.html视频讲解https://www.bilibili.com/video/BV17P41177ud/?sh…

【Java EE初阶十五】网络编程TCP/IP协议(二)

1. 关于TCP 1.1 TCP 的socket api tcp的socket api和U大片的socket api差异很大&#xff0c;但是和前面所讲的文件操作很密切的联系 下面主要讲解两个关键的类&#xff1a; 1、ServerSocket&#xff1a;给服务器使用的类&#xff0c;使用这个类来绑定端口号 2、Socket&#xf…

【高阶数据结构】B+树

文章目录 1. B树的概念2. B树的查找3. B-树 VS B树4. B 树的插入分析 1. B树的概念 B树是B树的变形&#xff0c;是在B树基础上优化的多路平衡搜索树&#xff0c;B树的规则跟B树基本类似&#xff0c;但是又在B树的基础上做了一些改进优化。 一棵m阶的B树需满足下列条件&#x…

Vue+OpenLayers7入门到实战:OpenLayers加载船讯网航海地图瓦片到地图上

返回《Vue+OpenLayers7》专栏目录:Vue+OpenLayers7 前言 本章介绍如何使用OpenLayers7在地图上加载船讯网航海地图瓦片到地图上的功能。 适用于海运等海洋相关行业使用。 二、依赖和使用 "ol": "7.5.2"使用npm安装依赖npm install ol@7.5.2使用Yarn安装…

IDEA连接database数据库

文章目录 一、连接数据库1、连接mysql2、连接参数配置3、配置驱动从maven仓库下载&#xff1a;要求联网将提前下载好的jar放到本地目录 4、完成 二、执行sql1、选择要操作的数据库2、执行sql 三、问题1、可能因为时区问题连接不上 一、连接数据库 1、连接mysql 2、连接参数配置…

为什么从没有负值的数据中绘制的小提琴图(Violin Plot)会出现负值部分?

&#x1f349; CSDN 叶庭云&#xff1a;https://yetingyun.blog.csdn.net/ 小提琴图&#xff08;Violin Plot&#xff09; 是一种用于展示和比较数据分布的可视化工具。它结合了箱形图&#xff08;Box Plot&#xff09;和密度图&#xff08;Kernel Density Plot&#xff09;的特…

1、OI 赛事与赛制

赛事简介 信息学奥林匹克竞赛(英语:Olympiad in Informatics,简称:OI)是一门在中学生中广泛开展的学科竞赛,和物理、数学等竞赛性质相同。OI 考察的内容是参赛者运用算法、数据结构和数学知识,通过编写计算机程序解决实际问题的能力。 OI 竞赛种类繁多,仅中国就包括: …

C++基础学习

string char转string vector转string 正则匹配

【LeetCode每日一题】单调栈 581. 最短无序连续子数组

581. 最短无序连续子数组 给你一个整数数组 nums &#xff0c;你需要找出一个 连续子数组 &#xff0c;如果对这个子数组进行升序排序&#xff0c;那么整个数组都会变为升序排序。 请你找出符合题意的 最短 子数组&#xff0c;并输出它的长度。 示例 1&#xff1a; 输入&am…

地下管线管网三维建模工具MagicPipe3D V3.4.2发布

经纬管网建模系统MagicPipe3D&#xff0c;本地离线参数化构建地下管网三维模型&#xff08;包括管道、接头、附属设施等&#xff09;&#xff0c;输出标准3DTiles服务、Obj模型等格式&#xff0c;支持Cesium、Unreal、Unity、Osg等引擎加载进行三维可视化、语义查询、专题分析&…