taskset使用和说明

本文介绍了Linux下的taskset命令,用于查看和设置程序运行的CPU核心。通过`lscpu`查看可用核心,使用`taskset -c`设置程序运行在特定核心上,并通过`taskset -p`查看程序的CPU亲和性。通过实例演示了如何切换程序运行的核心以及如何查看进程的CPU亲和性设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

功能描述:查看和设置程序运行在哪些core上
查看:taskset -p PID
设置:taskset -c xxx(core) command(执行的命令)
1,查看机器可以使用的核有哪些
[root@template ~]# lscpu
NUMA node0 CPU(s): 0-3
2,设置程序运行在哪些核上
[root@template ~]# taskset -c 2,3 screen -dmS vmstat vmstat 1
3,使用ps查看程序的PID号,然后通过tastset -p PID查看运行在那个核上
[root@template ~]# taskset -c 2,3 screen -dmS vmstat vmstat 1
[root@template ~]# ps -ef |grep vmstat
root 1593 1 0 21:21 ? 00:00:00 SCREEN -dmS vmstat vmstat 1
root 1594 1593 0 21:21 pts/1 00:00:00 vmstat 1
root 1599 1569 0 21:21 pts/2 00:00:00 grep --color=auto vmstat
[root@template ~]# taskset -p 1594
pid 1594’s current affinity mask: c #1100 (3210)表示位置参数,一个核代表一个位置,一个数代表8个位置,使用的位置放1 ,然后计算值,比如上面1100则为8+4+0+0=12 =c
[root@template ~]# screen -X -s vmstat quit
[root@template ~]# taskset -c 0 screen -dmS vmstat vmstat 1
[root@template ~]# ps -ef |grep vmstat
root 1606 1 0 21:25 ? 00:00:00 SCREEN -dmS vmstat vmstat 1
root 1607 1606 0 21:25 pts/1 00:00:00 vmstat 1
root 1609 1569 0 21:25 pts/2 00:00:00 grep --color=auto vmstat
[root@template ~]# taskset -p 1607
pid 1607’s current affinity mask: 1 #在第一个位置 0001=1
[root@template ~]# screen -X -s vmstat quit
[root@template ~]# taskset -c 1 screen -dmS vmstat vmstat 1
[root@template ~]# ps -ef |grep vmstat
root 1613 1 0 21:26 ? 00:00:00 SCREEN -dmS vmstat vmstat 1
root 1614 1613 0 21:26 pts/1 00:00:00 vmstat 1
root 1616 1569 0 21:26 pts/2 00:00:00 grep --color=auto vmstat
[root@template ~]# taskset -p 1614
pid 1614’s current affinity mask: 2 #在第2个位置 0010=2

[root@template ~]# taskset -h
Usage: taskset [options] [mask | cpu-list] [pid|cmd [args…]]

Options:
-a, --all-tasks operate on all the tasks (threads) for a given pid
-p, --pid operate on existing given pid
-c, --cpu-list display and specify cpus in list format
-h, --help display this help
-V, --version output version information

The default behavior is to run a new command:
taskset 03 sshd -b 1024
You can retrieve the mask of an existing task:
taskset -p 700
Or set it:
taskset -p 03 700
List format uses a comma-separated list instead of a mask:
taskset -pc 0,3,7-11 700
Ranges in list format can take a stride argument:
e.g. 0-31:2 is equivalent to mask 0x55555555

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值