isolcpus和延迟问题

时间:2018-04-19 02:12:58

标签: linux performance x86 perf tlb

我在服务器内核3.10.0-693.el7.x86_64中有配置grub isolcpus = 8.

我有一个名为a.exe的C ++应用程序,其中一个名为t1 affinity to core 8的线程,然后我观察perf cycles:u -C 8,看起来对我来说很好。

问题1:

我不时观察到[k] apic.timer.interrupt在perf中的表现, 我知道每个核心都有它的定时器中断,在/ proc / interrupts,核心8本地定时器中断每秒发生1次,我想问一下是否 [k] apic.timer.interrupt在perf中显示是/ proc / interrupt本地定时器中断的事件?!

问题2:

perf dTLB-load-misses,iTLB-load-misses -C 8显示了很多dTLB,iTLB未命中发生在Core 8中。

a.exe有15个线程,只有t1与Core 8的亲缘关系,其他线程(称为t2~t15)消耗了大量内存(特别是堆),我想知道a.exe是否有巨大的虚拟内存会影响核心8中的TLB未命中,只有t1在其中运行?!

t1使用的堆和堆栈数据内存比t2 ... t15少得多,所有t1到t15都在a.exe中,因此它们共享相同的虚拟内存地址,是否有可能在t2中频繁执行malloc / free操作。 ..15(核心8中没有一个会影响核心8 dTLB未命中?)

0 个答案:

没有答案