linux系统设置cpu孤立
介绍
针对cpu密集型的任务,消耗cpu较高,最好设置cpu亲和度,以提高任务执行效率,避免cpu进行上下文切换,浪费不必要的性能。
特定任务(进程/线程)需要独占一个cpu核心并且不想让其他任务(进程/线程)使用该核心。
默认情况下,linux系统任务(进程/线程)可以使用任意一颗核心,要想把指定的cpu孤立出来,不让普通进程使用,需要修改grub参数
修改grub配置文件
以debian为例,默认grub参数配置文件为/etc/default/grub
,
找到GRUB_CMDLINE_LINUX
行,
我这里这一行默认为
GRUB_CMDLINE_LINUX="text console=tty0 console=ttyS0,115200n8"
想要孤立11-23号cpu,可以这么写
GRUB_CMDLINE_LINUX="text isolcpus=11,12,13,14,15,16,17,18,19,20,21,22,23 nohz_full=11,12,13,14,15,16,17,18,19,20,21,22,23 rcu_nocbs=11,12,13,14,15,16,17,18,19,20,21,22,23 console=tty0 console=ttyS0,115200n8"
所有的核心必须用逗号分隔开来写11,12,13,14,15,16,17,18,19,20,21,22,23
,不能写为11-23
生成新的grub引导文件
修改/etc/default/grub
文件后,需要重新生成grub引导文件
使用命令
update-grub
或者
update-grub2
或者
grub-mkconfig -o /boot/grub/grub.cfg
上面3个命令都可以,其实就是重新生成了/boot/grub/grub.cfg
文件,
重启系统生效,系统默认就不会再使用11-23号cpu了
使用孤立cpu
我们要想使用这些cpu,可以在命令行中使用taskset命令
比如:
正常的命令运行为
python xx.py
这样运行,一定不会使用11-23号cpu,
如果想使用11-15号cpu运行该进程,可以写为
taskset -c 11,12,13,14,15 python xx.py
或者
taskset -c 11-15 python xx.py
除了在命令行中用taskset命令,也可以使用库函数在代码中设置cpu亲和度来使用这些cpu
注意
在docker容器中,这些已经被孤立的cpu仍然可以被使用,
比如上面我们孤立了11-23号cpu,在docker容器中运行命令默认也是可以使用这些cpu的
当然,我们肯定不希望docker也可以使用这些cpu,因为这些cpu是供特定服务(进程)使用的,
在创建docker容器时,通过参数--cpuset-cpus
指定容器只能使用哪些cpu,可以达到将11-23号cpu孤立的目的。
转载于:https://www.cnblogs.com/yanhai307/p/10783771.html
linux系统设置cpu孤立相关推荐
- linux系统设置服务开机启动3种方法,Linux开机启动程序详解
linux系统设置服务开机启动 方法1:.利用ntsysv伪图形进行设置,利用root登陆 终端命令下输入ntsysv 回车:如下图 方法2:利用命令行chkconfig命令进行设置 简要说明一下ch ...
- linux监测cpu 内存,Linux中CPU与内存性能监测.docx
Linux中CPU与内存性能监测(出处://chenleixing/article/details 在系统维护的过程中,随时可能有需要查看 CPU 使用率内存使用情况的需要,尤其是涉及到JVM,程序调 ...
- linux系统CPU,内存,磁盘,网络流量监控脚本
前序 1, #cat /proc/stat/ 信息包含了所有CPU活动的信息,该文件中的所有值都是从系统启动开始累积到当前时刻 2, #vmstat –s 或者 #vmstat 虚拟内存统 ...
- linux查看CPU信息
Linux查看cpu个数 1. 查看物理CPU的个数 cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l 2. 查看逻 ...
- 查看cpu使用率_腾讯游戏开发工程师:Linux 机器 CPU 毛刺问题排查
作者:jasonzxpan,腾讯 IEG 运营开发工程师 本文排查一个Linux 机器 CPU 毛刺问题,排查过程中不变更进程状态.也不会影响线上服务,最后还对 CPU 毛刺带来的风险进行了分析和验证 ...
- Linux服务器CPU、内存、磁盘空间、负载情况查看python脚本
[本文出自天外归云的博客园] 网上搜,东拼西凑,组装了一个可以查Linux服务器CPU使用率.内存使用率.磁盘空间占用率.负载情况的python脚本. 脚本内容如下: # -*- coding:utf ...
- 为VMware虚拟机中的Linux系统设置固定IP的方法
这篇文章主要介绍了为VMware虚拟机中的Linux系统设置固定IP的方法,包括以nat方式固定ip上网的方法,需要的朋友可以参考下 1.配置DNS: 修改 /etc/resolv.conf 文件,添 ...
- Linux 机器 CPU 毛刺问题排查
作者:jasonzxpan,腾讯 IEG 运营开发工程师 本文排查一个Linux 机器 CPU 毛刺问题,排查过程中不变更进程状态.也不会影响线上服务,最后还对 CPU 毛刺带来的风险进行了分析和验证 ...
- 使用top命令监控linux系统cpu变化
#!/bin/bash #使用top命令监控linux系统cpu变化#取系统当前时间(以追加的方式写入文件>>) date >> /home/monitor_script/cp ...
- cpu不支持虚拟装linux,linux 查看cpu是不是支持虚拟化
linux 查看cpu是否支持虚拟化 一.Windows平台: 使用cpu-Z即可查看. 二.Linux平台: 在终端执行#cat /proc/cpuinfo(或#grep -E '(vmx|svm) ...
最新文章
- 2021年大数据Flink(二十六):​​​​​​​State代码示例
- POJ--2391--Ombrophobic Bovines【分割点+Floyd+Dinic优化+二分法答案】最大网络流量
- 深度学习要点———神经网络的类型
- 公司为何要对薪水保密?
- 解锁bios学习总结
- SQL中的left outer join,inner join,right outer join用法
- SAP云平台开启Kyma功能时发送到后台的HTTP请求
- POJ2942 Knights of the Round Table 点双连通分量,逆图,奇圈
- C语言课后习题(57)
- CLion 的使用(一)
- 百变人脸,趣味容颜,ALAE 人脸玩出新高度!
- 计算机操作和电子技术应用,电子技术应用是学什么
- ThinkPHP 验证码错误
- Ubuntu系统清理工具
- PostgreSQL中创建空间拓展(创建空间数据库)并连接到空间数据库,导入数据表操作
- 3dmax常见的八十个问题汇总
- Nginx 负载均衡动静分离配置
- 带上萌宠去上班 | IT办公室宠物报告
- 微信小程序 -语音合成:将文字转为语音(小程序插件:微信同声传译)
- 怎么利用计算机传输文件到邮箱,电脑和电脑怎么传文件_电脑和电脑之间如何传文件-win7之家...
热门文章
- Jenkins持续集成环境, 如何自定义 maven 仓库
- HDU3065 AC自动机
- Java猜拳小游戏(剪刀、石头、布)
- JSP 中 pageEncoding 和 charset 区别以及中文乱码解决方案
- xcode 4.2 开发2——TabelView
- 用 TStringList 模拟 将字符串转换为变量的功能 - 回复 flq_00000 和 外来天客 的问题...
- 雷林鹏分享:PHP 实例 - AJAX 与 XML
- 在团队中我的索引卡任务
- 【BZOJ】1085 [SCOI2005]骑士精神(IDA*)
- NOIP2017 D2T1 奶酪