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

news/2024/9/23 9:22:14/

设置程序在指定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个核上。


http://www.ppmy.cn/news/1356745.html

相关文章

基于java的眼镜店仓库管理系统

源码获取&#xff0c;加V&#xff1a;qq2056908377 摘要&#xff1a; 随着电子商务的兴起&#xff0c;越来越多的商家选择在线销售他们的产品。眼镜店作为零售业的一种&#xff0c;也不例外。随着市场需求的不断增加&#xff0c;眼镜店需要更加高效的管理他们的仓库和库存&…

Promise学习之路(一):Promise() 构造函数

文章目录 1 Promise() 语法2 Promise() 的参数3 Promise() 的返回值4 Promise() 的使用时机5 Promise 流程概述 Promise() 构造函数可创建 Promise 对象&#xff0c;主要用于封装尚未支持 Promise 的基于回调的 API。 1 Promise() 语法 Promise() 构造函数接收一个函数类型的…

【大数据面试题】007 谈一谈 Flink 背压

一步一个脚印&#xff0c;一天一道面试题&#xff08;有些难点的面试题不一定每天都能发&#xff0c;但每天都会写&#xff09; 什么是背压 Backpressure 在流式处理框架中&#xff0c;如果下游的处理速度&#xff0c;比上游的输入数据小&#xff0c;就会导致程序处理慢&…

opencv安装介绍以及基本图像处理详解

文章目录 一、什么是OpenCV &#xff1f;二. OpenCV 安装1. 下载地址2.安装命令&#xff1a;pip install opencv-python 三、图像基础1. 基本概念2. 坐标系3. 基本操作&#xff08;彩色图片&#xff09;&#xff08;1&#xff09;读取图片&#xff1a;cv2.imread( )&#xff08…

vue中使用jsx语法

请注意&#xff0c;在 Vue 中使用 JSX 时&#xff0c;你仍然需要通过 h 函数&#xff08;通常是一个别名&#xff0c;对应于 createElement 函数&#xff09;来创建虚拟 DOM 元素。在下面的例子中&#xff0c;h 函数作为 render 函数的参数传入&#xff0c;但在 JSX 语法中你通…

【PyQt】12-滑块、计数控件

文章目录 前言一、滑块控件 QSlider运行结果 二、计数器控件 QSpinBox运行结果 总结 前言 1、滑块控件 2、计数控件 一、滑块控件 QSlider #Author &#xff1a;susocool #Creattime:2024/2/15 #FileName:28-滑块控件 #Description: 通过滑块选择字体大小 import sys from PyQ…

mysql删除idb文件,或者idb文件损坏后的修复

由于使用docker磁盘已满&#xff0c;导致建立表过程中&#xff0c;数据的插入存在问题&#xff0c;进而导致后续启动时读取该表的idb存在问题&#xff0c;导致无法启动 现在提供一种思路处理该种情况 innodb_force_recovery 选项可以让你在某些类型的错误发生时仍然启动 MySQL。…

浅谈Vue组件之间的通信

Vue组件之间的通信可以通过多种方式进行&#xff0c;以下是一些常用的方法&#xff1a; 父子组件通信&#xff1a; 父组件向子组件传递数据&#xff1a;可以通过props属性向子组件传递数据。 vue<template><child-component :someProp"parentData"></…