Linux下设置进程CPU亲和力提高进程实时性
什么是CPU亲和力?
所谓CPU亲和力是在多核CPU的系统中,可以指定CPU的某一个或多个核心,分配给指定的进行执行,在Linux中可以设置进程的CPU亲和力,一方面可以减少进程由于内核的上下文切换引起的时延,另一方面可以把一些中断之类的频繁执行的程序限定到某一个或几个核心上,以减小中断对其他进程的实时性的影响。
查看指定进程的CPU亲和力
查看进程CPU亲和力,使用taskset命令:
taskset -cp pid
隔离指定CPU
隔离CPU的核心,可以使得系统关键进程尽量不调度到被隔离的核心,然后有较高实时要求的进程可以指定到被隔离的核心上运行,以提高进程的实时性。
- 在/boot/grub/grub.cfg中添加启动参数:isolcpus=0-2,3,4
- 避免每次都手动该grub.cfg,可以按如下进行操作
First, open the file /etc/default/grub and add the phrase intel_pstate=disable to the line GRUB_CMDLINE_LINUX_DEFAULT. After adding the phrase it should looks like
GRUB_CMDLINE_LINUX_DEFAULT=“quiet splash intel_pstate=disable”
Then, execute the command:
$ update-grub
指定某一个已经运行的进程到特定核心运行
指定进程到CPUx上运行,使用如下命令:
taskset -pc x pid
指定中断的CPU亲和力
中断是影响实时性的一个比较重要的因素,将中断指定到特定的核心运行,可以减少中断对实时进程的影响。
指定对应中断到指定CPU(root用户下):
echo 1 /proc/irq/121/smp_affinity
cat /sys/devices/system/cpu/isolated
更新于:4个月前赞一波!
相关文章
- 【说站】python中进程池Pool的初始化
- 【说站】linux 如何退出python
- CentOS7部署发布.NET Core网站Ngnix安装配置图文教程
- dev/hda5在linux中表示什么
- linux高并发是什么意思
- linux为什么没有病毒
- linux nobody是啥用户
- 使用 HTML、CSS 和 JavaScript 的实时计算器
- linux 命令之查看文件内容
- linux 命令之 ls 命令详解
- Linux下RabbitMQ安装和.NET Core使用RabbitMQ.Client操作
- linux shell的几种截取字符串的方法
- Linux中date命令如何格式化输出需要的时间格式
- 使用Docker Wine Qemu KVM在Linux运行Windows应用
- Debian Linux国内常用镜像源
- CentOS7安装unzip解压工具命令使用方法
- Linux使用Docker部署.NET6网站图文教程
- Linux中通过命令连接指定WiFi
- 什么是宝塔Linux
- C#中如何获取当前系统CPU的核心数
文章评论
评论问答