码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • linux taskset命令


    一、简介

    taskset命令用于设置进程(或线程)的处理器亲和性(Processor Affinity),可以将进程(或线程)绑定到特定的一个 或 多个CPU上去执行,而不允许将进程(或 线程)调度到其他的CPU上。

    CPU亲和性使用位掩码来表示,最低的顺序位是第一个逻辑CPU,最高位对应为最后一个逻辑CPU。

    查看cpu的信息可以用 “cat /proc/cpuinfo”命令。

    # 总核数 = 物理CPU个数 X 每颗物理CPU的核数 
    # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数

    The masks may be specified in hexadecimal (with or without a leading "0x"), or as a CPU list with the --cpu-list option. 

    位掩码可以以十六进制或者 --cpu-list选项表示,使用十六进制表示的时候可以不带或者带0x前缀。

    举例说明

    1. 0x00000001
    2. is processor #0,
    3. 0x00000003
    4. is processors #0 and #1,
    5. 0xFFFFFFFF
    6. is processors #0 through #31,
    7. 32
    8. is processors #1, #4, and #5,
    9. --cpu-list 0-2,6
    10. is processors #0, #1, #2, and #6.
    11. --cpu-list 0-10:2
    12. is processors #0, #2, #4, #6, #8 and #10. The suffix ":N"
    13. specifies stride in the range, for example 0-10:3 is
    14. interpreted as 0,3,6,9 list.

    二、常用参数:

    -a, --all-tasks设置或检索所有任务(线程)的CPU相关性对于给定的PID
    -c, --cpu-list指定逻辑cpu的序号
    -p, --pid在现有PID上操作,不要启动新任务
    -V, --version显示版本信息

    -h, --help
    显示帮助信息

    三、常用使用场景

    1、查看某一个进程允许运行在那个Cpu上

    taskset -p pid
    1. [root@localhost ~]# ps -eLf | grep qemu
    2. root 1389 1339 1389 0 3 14:48 pts/0 00:00:10 /usr/libexec/qemu-kvm -cpu SandyBridge -vnc 0.0.0.0:1 centos1708.img
    3. root 1389 1339 1393 2 3 14:48 pts/0 00:00:36 /usr/libexec/qemu-kvm -cpu SandyBridge -vnc 0.0.0.0:1 centos1708.img
    4. root 1389 1339 1395 0 3 14:48 pts/0 00:00:00 /usr/libexec/qemu-kvm -cpu SandyBridge -vnc 0.0.0.0:1 centos1708.img
    5. root 2638 1409 2638 0 1 15:10 pts/1 00:00:00 grep --color=auto qemu
    6. [root@localhost ~]# taskset -p 1393
    7. pid 1393's current affinity mask: ff
    8. [root@localhost ~]# taskset -p 1389
    9. pid 1389's current affinity mask: ff

    输出结构处理器亲和性掩码是ff,表示进程(或 线程)可以在Host上让任何一个CPU运行。

    taskset -cp pid
    1. [root@localhost ~]# taskset -cp 1393
    2. pid 1393's current affinity list: 0-7
    3. [root@localhost ~]# taskset -cp 1389
    4. pid 1389's current affinity list: 0-7

    查看进程(或 线程)允许允许CPU范围使用-c参数。由于我的Host CPU是4核2线程,因此有8颗逻辑CPU。

    2、设置某一进程的cpu的亲和性,也就是设置在某些cpu上运行

    taskset -p mask pid
    1. [root@localhost ~]# taskset -p 0x11 1393
    2. pid 1393's current affinity mask: ff
    3. pid 1393's new affinity mask: 11
    4. [root@localhost ~]# taskset -p 1393
    5. pid 1393's current affinity mask: 11
    6. [root@localhost ~]# taskset -cp 1393
    7. pid 1393's current affinity list: 0,4

    设置掩码0x11(二进制0001 0001),表示可以在0和4号CPU上允许运行。

    taskset -cp cpu_list pid
    1. [root@localhost ~]# taskset -cp 0,3 1393
    2. pid 1393's current affinity list: 0,4
    3. pid 1393's new affinity list: 0,3
    4. [root@localhost ~]# taskset -cp 1393
    5. pid 1393's current affinity list: 0,3

    ref:

    cat /proc/cpuinfo 查看cpu信息_城南旧梦的博客-CSDN博客_cat cpuinfo

    使用taskset命令让进程运行在指定CPU上_弹性云服务器 ECS_故障排除_操作系统类(Linux)_华为云

    taskset(1) - Linux manual page

    https://www.jianshu.com/p/2627cd875715

    Linux命令——taskset - 克拉默与矩阵 - 博客园

  • 相关阅读:
    JDK自带JVM分析工具
    java-net-php-python-java沈阳市地铁应急救援管理系统计算机毕业设计程序
    “蔚来杯“2022牛客暑期多校训练营(加赛),签到题MHEJ
    前端周刊第三十三期
    [附源码]计算机毕业设计springboot家庭整理服务管理系统
    详解Next Auth:自定义邮箱密码登录注册、Github、Notion授权 & Convex集成
    22.10.31补卡 22CCPC桂林C题
    基于vue3和element-plus的省市区级联组件
    一步步带你用react+spring boot搭建后台之二(登录与首页篇)
    Linux的用户管理和用户组管理
  • 原文地址:https://blog.csdn.net/wwwlyj123321/article/details/126902561
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号