摘要:这里有两篇博客写得很好:KVM APIC Timer 模拟详解-CSDN博客 KVM CPU虚拟化_vapic-CSDN博客 在amd机器和intel机器上测试虚拟机性能时发现一个奇怪的问题。由于x86机器上没有为虚拟化专门设置timer设备,虚拟机内的timer依然需要使用物理机上的clock e
阅读全文
摘要:bpftrace自带的kaddr(char *name)函数可以用来返回指定全局变量的地址,通过解引用可以得到该全局变量的值。 例如,打印jiffies可以使用如下代码: printf("jiffies: %lu\n", *kaddr("jiffies"));
阅读全文
摘要:测试用例:在非cpu0上绑定执行两个耗cpu的进程,top -1查看系统软中断占比,发现cpu0的软中断占比升高。 原因排查: 查看/proc/softirqs,显示SCHED softirq增长很快。SCHED softirq负责负载均衡。负载均衡分为三种,周期性balance,nohz bala
阅读全文
摘要:如果开启了nohz,在busy的cpu上,每次时钟中断的时候会发起nohz load balance。它的一个关键点是选择一个idle cpu。 static void nohz_balancer_kick(struct rq *rq) { ... out: if (flags) kick_ilb(
阅读全文