服务器:我有两个英特尔,10个核心cpus或8个核心的服务器。因此,有些有40个核心,一些有32个核心(启用英特尔HT)
背景:我正在运行我们的应用程序,这将隔离cpus,目前,我分离了该应用程序的最后32个核心(核心8-39)。4核(核心4-7)用于其他用途(通常,它将使用50%的sys cpu).我想为系统IRQ的使用分配核心0-3。由于目前,如果我运行应用程序,系统响应非常慢,我认为一些irq请求已经被争议到核心4-7,这导致低响应。你认为如果可能的话,只需使用4个核心来处理系统irq?
发布于 2017-06-14 07:53:06
如果你有一个以上的套接字(“石头”),这意味着你有NUMA系统。以下是获取更多信息的链接-- access
尝试在同一个套接字上使用CPU。下面我将解释为什么和如何做到这一点。
% numactl --hardware available: 2 nodes (0-1) node 0 cpus: 0 2 4 6 8 10 12 14 16 18 20 22 node 0 size: 24565 MB node 0 free: 2069 MB node 1 cpus: 1 3 5 7 9 11 13 15 17 19 21 23 node 1 size: 24575 MB node 1 free: 1806 MB node distances: node 0 1 0: 10 20 1: 20 10这里“节点”的意思是“套接字”(石头)。因此,0,2,4,6 CPU位于同一节点上。将所有的IRQ移动到一个节点来使用L3缓存来设置CPU是有意义的。
需要添加参数来启动Linux内核isolcpus= cpu_number,cpu_number,.
例如
isolcpus=1,3,5,7-31cat /proc/中断
numactl -membind=节点
如果您看到系统速度慢,需要了解瓶颈。试着用top,vmstat,iostat收集原始信息,找出弱点所在。
提供一些你的系统统计,我会帮助你把它正确的方式。
https://stackoverflow.com/questions/44448353
复制相似问题