上一页 1 2 3 4 5 6 ··· 10 下一页

2025年5月7日

qemu qom模型

摘要: 读过qemu源码的同学都会发现里面很多Type,object,class这些东西,这就是qemu的qom的组件。如果不能很好的理解qom模型就很难阅读源码。 qemu是c语言写的,但是qemu需要模拟很多复杂的设备总线这些东西,而这些设备总线之间是存在一些共性和继承关系的,也就是需要一些面向对象的描 阅读全文

posted @ 2025-05-07 23:03 半山随笔 阅读(154) 评论(0) 推荐(0)

2025年4月27日

cpu0 SCHED_SOFTIRQ异常升高的问题解释

摘要: 如果在一个非0的cpu上绑定2个任务,top -1可能观察到cpu0 si升高的问题。严重的可能为10~20%。 watch "cat /proc/softirqs | awk '{print \$1,\$2}'" 观察到是SCHED类型的软中断。该类型的软中断是load balance引起的。由于 阅读全文

posted @ 2025-04-27 20:51 半山随笔 阅读(38) 评论(0) 推荐(0)

2025年4月9日

vfprintf/fprintf格式与参数不匹配导致输出错误

摘要: 由于fprintf可以认为是vfprintf的封装,这俩的行为比较一致。以fprintf为例来说明。 int main() { double a = 100.0999; int b = 10000; FILE *file = fopen("file_test", "w"); fprintf(file 阅读全文

posted @ 2025-04-09 15:38 半山随笔 阅读(25) 评论(0) 推荐(0)

2025年3月12日

mobaxterm输出卡顿问题

摘要: 在mobaxterm上使用ssh连接一台服务器.当输出较多时会出现卡顿,现象是输出的字符是一个或者多个一起间隔输出。更奇怪的现象是即使kill掉输出的程序,输出仍然在继续。所以可以确定不是某个程序自身的问题,而是终端的问题。关闭终端,重新打开,问题消失。 阅读全文

posted @ 2025-03-12 17:21 半山随笔 阅读(223) 评论(0) 推荐(0)

2025年3月11日

在线关闭smt

摘要: echo off > /sys/devices/system/cpu/smt/control 阅读全文

posted @ 2025-03-11 19:05 半山随笔 阅读(15) 评论(0) 推荐(0)

2025年3月10日

linux中如何获取指定结构体内成员的偏移

摘要: 使用pahole可以查看内核中某个结构体内成员的偏移信息。比如要查看struct rq的信息。 pahole -C rq /usr/lib/debug/boot/vmlinux 这样就可以得到rq成员的详细偏移信息,结果bpf工具可以打印出对应的成员。 阅读全文

posted @ 2025-03-10 19:26 半山随笔 阅读(59) 评论(0) 推荐(0)

2025年2月27日

amd和intel在APIC timer虚拟化中的差异

摘要: 这里有两篇博客写得很好:KVM APIC Timer 模拟详解-CSDN博客 KVM CPU虚拟化_vapic-CSDN博客 在amd机器和intel机器上测试虚拟机性能时发现一个奇怪的问题。由于x86机器上没有为虚拟化专门设置timer设备,虚拟机内的timer依然需要使用物理机上的clock e 阅读全文

posted @ 2025-02-27 20:17 半山随笔 阅读(131) 评论(0) 推荐(0)

2025年2月9日

bpftrace打印内核全局变量

摘要: bpftrace自带的kaddr(char *name)函数可以用来返回指定全局变量的地址,通过解引用可以得到该全局变量的值。 例如,打印jiffies可以使用如下代码: printf("jiffies: %lu\n", *kaddr("jiffies")); 阅读全文

posted @ 2025-02-09 13:49 半山随笔 阅读(101) 评论(0) 推荐(0)

cpu0 softirq异常升高问题

摘要: 测试用例:在非cpu0上绑定执行两个耗cpu的进程,top -1查看系统软中断占比,发现cpu0的软中断占比升高。 原因排查: 查看/proc/softirqs,显示SCHED softirq增长很快。SCHED softirq负责负载均衡。负载均衡分为三种,周期性balance,nohz bala 阅读全文

posted @ 2025-02-09 13:43 半山随笔 阅读(196) 评论(0) 推荐(0)

2025年2月1日

nohz load balance选择cpu

摘要: 如果开启了nohz,在busy的cpu上,每次时钟中断的时候会发起nohz load balance。它的一个关键点是选择一个idle cpu。 static void nohz_balancer_kick(struct rq *rq) { ... out: if (flags) kick_ilb( 阅读全文

posted @ 2025-02-01 18:25 半山随笔 阅读(65) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 ··· 10 下一页

导航