什么是绑核

所谓绑核,其实就是设定某个进程/线程与某个CPU核的亲和力(affinity)。设定以后,Linux调度器就会让这个进程/线程只在所绑定的核上面去运行。但并不是说该进程/线程就独占这个CPU的核,其他的进程/线程还是可以在这个核上面运行的。如果想要实现某个进程/线程独占某个核,就要使用cpuset命令去实现。

其实,很多情况下,为了提高性能,Linux调度器会自动实现尽量让某个进程/线程在同样的CPU上去运行。所以,除非必须,我们没有必要显式的去进行进程绑核操作。

如何绑核

taskset用于将某个进程/线程绑定到CPU的某个或某几个核上面,其用法如下:taskset -p pid

可以查出进程pid现在的绑核情况。

设置绑核有两种方法:掩码形式

列表形式

下面分别介绍。

掩码形式绑核

将掩码转换为二进制形式,从最低位到最高位代表物理CPU的#0、#1、……、#n号核。某位的值为0表示不绑该核,1表示绑。比如:0x00000001的二进制为0000...0001,只有第0号核的位置是1,所以表示只绑0号核;0x00000003的二进制为0000...0011,第0和1号核的位置是1,所以表示绑CPU的0号和1号核;再比如0xFFFFFFFF的二进制为1111...1111,所有32个核的位置都为1,所以表示绑CPU的0~31核。

需要注意的是,并非掩码中给出的CPU核就一定会存在,比如0x00000400理论上代表CPU的第10号核,但是该核在真正的计算机上面并不一定是存在的。而且,如果我们试图将物理上并不存的核绑定给某个进程时,会返回错误。掩码形式的绑核命令为:taskset -p mask pid

列表形式

列表形式指直接指定要绑的CPU核的列表,列表中可以有一个或多个核。具体语法如下:taskset -cp cpu-list pid

其中cpu-list是数字化的cpu列表,从0开始。多个不连续的cpu可用逗号连接,连续的可用短现连接,比如0,2,5-11等。

比如taskset -cp 0,2,5-11 9865命令表示将进程9865绑定到#0、#2、#5~#11号核上面。

最后要说的是:只要taskset成功返回了,那就表示绑核一定成功了,即该进程已被绑到指定的核上面,而且taskset命令会显示原来的绑核(原来的可能是系统默认分配的核)情况,以及新的绑核情况。

linux下的绑核命令,Linux下的绑核命令——taskset相关推荐

  1. linux安装DNS服务命令,Linux下的安装和配置DNS服务器

    Linux下的安装和配置DNS服务器 发布时间:2008-09-08 17:03:00   作者:佚名   我要评论 在Linux操作系统中使用BIND (Berkeley Internet Name ...

  2. linux ps -aux 怎么看内存,Linux下ps aux命令 与 查看CPU配置

    要对进程进行监测和控 制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令.使用该命令可以确定有哪些进程正在运行和运行的状态.进程是否结束. ...

  3. Linux查看WAS的jvm信息,linux 下使用命令查看jvm信息

    java程序员除了编写业务代码之外,特别是项目上线之后,更需要关注的是系统的性能表现,这个时候就需要了解一下jvm的性能表现了,可以借助于java虚拟机自带的一些分析工具,主要有三个常用的命令. 1. ...

  4. linux虚拟机启动网卡命令,命令行下无法联网怎么办,vmware下安装archlinux实现网络连接,实机grub引导启动linux...

    安装archlinux可参考: 百度·贴吧里也有置顶帖给出了官方维基: 由于用的电信宽带需要客户端(大学苦逼,需要客户端),无线网卡也不支持(cmcc和chinanet都需要登陆网页,命令行下无线网连 ...

  5. linux启停was命令,linux下的启停脚本

    linux下的根据项目名称,进行进程的启停脚本 #!/bin/bash JAVA=/usr/bin/java APP_HOME=/opt/program/qa/wechat APP_NAME=prog ...

  6. windows命令行下访问linux,Windows支持直接访问Linux子系统文件:你的下一台Linux何必是Linux...

    原标题:Windows支持直接访问Linux子系统文件:你的下一台Linux何必是Linux 晓查 发自 凹非寺 量子位 报道 | 公众号 QbitAI 微软,致力于做最好的Linux发行版. 今天, ...

  7. Linux快捷键-命令行下

    LINUX中命令行下是没有鼠标的,所以所有的操作只能通过键盘来实现.确实,鼠标对于电脑而言感觉还是很重要的,相对与Windows,Linux在易操作性上差的很多.所以,对于我们技术人员来讲,刚开始学习 ...

  8. linux下的find文件查找命令与grep文件内容查找命令(转)

    在使用linux时,经常需要进行文件查找.其中查找的命令主要有find和grep.两个命令是有区别的. 区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空, ...

  9. linux系统退出当前计算节点命令,Linux下60个系统命令详细解.doc

    Linux下60个系统命令详细解 嵌入式学习指引--Linux下60个系统命令详细解 Linux为用户提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作.文件存取.目录操作.进程管理.文件权 ...

  10. linux命令行下命令参数前的一横(-)和两横(--)的区别

    linux命令行下命令参数前的一横(-)和两横(--)的区别 原文转自:http://blog.csdn.net/songjinshi/article/details/6816776 在解释这些区别之 ...

最新文章

  1. OKR管理和绩效考核有什么不一样呢?
  2. FIA2020会议准备相关工作
  3. PaddleHub 1.0正式发布: 一键模型加载,十行代码完成迁移学习
  4. python语言核心技术_python核心技术
  5. 网络基础知识-TCP/IP协议各层详解
  6. JEECMS编辑漏洞及随便拿webshell,啊哈哈
  7. C++ 强制类型转换运算符
  8. Netty之线程模型
  9. SqlServer表中两条全然同样的记录,怎样删除当中1条
  10. odbc oracle数据源配置文件,MB中使用Oracle ODBC数据源的配置帮助
  11. 【游戏开发创新】Unity狗屁不通文章生成器阐述点赞的意义,可生成文字长图保存到本地(Unity | 附源码 | Text转Texture长图 | 详细教程)
  12. w7 internet信息服务器,Win7安装IIS Internet信息服务步骤
  13. 阿里巴巴官方:明年今日马云将不再担任董事局主席
  14. 在matlab中画收敛域,已知用下列差分方程描述的一个线性移不变因果系统(用MATLAB方法求解)。y(n)=y(n-1)+y(n-2)十x(n-1.. - 上学吧找答案...
  15. RT-Thread:W25Q128虚拟U盘并搭载文件系统
  16. OFD文件转换支持PDF,PNG,GIF,BMP
  17. FreeRTOS内存不够
  18. 首发速学——腾讯云数据库TDSQL(PostgreSQL版)训练营正式开营
  19. 一篇文章读懂什么是大数据
  20. 云钻还在吗 苏宁怎么解除实名认证_实名认证-苏宁如何修改实名认证我想修改实名认证信?苏 – 手机爱问...

热门文章

  1. Centos rsync + notify 实现数据实时同步
  2. 二十二、动网格Smoothing Spring方法及实例
  3. 商家酒店模块之java商城 开源java电子商务Spring Cloud+Spring Boot+mybatis+MQ+VR全景+b2b2c
  4. SD卡windows无法识别修复
  5. 易语言2020年基础实战视频教程
  6. java drawstring 绘制歌词_java-Graphics.drawString()未绘制
  7. 用RTF格式解决DrawText函数或Graphics.DrawString方法不能设置行距的问题
  8. Latex证明环境 白方块和黑方块
  9. DirectX游戏编程入门——前言
  10. Web安全 RCE漏洞(命令执行漏洞的 测试和利用).