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

2025年5月21日

bpftrace报:Could not resolve symbol: /proc/self/exe:BEGIN_trigger解决方案

摘要: 在ubuntu上使用bpftrace时,如果脚本中包含"BEGIN"或者"END"这些符号就会报如下的错误: Could not resolve symbol: /proc/self/exe:BEGIN_trigger 这是因为apt安装的bpftrace是strip过的,没有debug symbo 阅读全文

posted @ 2025-05-21 14:14 半山随笔 阅读(116) 评论(0) 推荐(0)

2025年5月9日

linux定时器迁移分析

摘要: 本来想写一些关于linux定时器得源码分析,但是发现一篇博客写得很详细,就放个链接在这里方便查找。 linux 内核 定时器(timer)实现机制_linux内核定时器-CSDN博客 这里补充一些内容。定时器在mod_timer中是可能发生迁移的,从一个cpu迁移到另外一个cpu。目标cpu的选择是 阅读全文

posted @ 2025-05-09 11:22 半山随笔 阅读(69) 评论(0) 推荐(0)

2025年5月7日

qemu qom模型

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

posted @ 2025-05-07 23:03 半山随笔 阅读(183) 评论(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 半山随笔 阅读(49) 评论(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 半山随笔 阅读(32) 评论(0) 推荐(0)

2025年3月12日

mobaxterm输出卡顿问题

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

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

2025年3月11日

在线关闭smt

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

posted @ 2025-03-11 19:05 半山随笔 阅读(19) 评论(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 半山随笔 阅读(65) 评论(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 半山随笔 阅读(148) 评论(0) 推荐(0)

2025年2月9日

bpftrace打印内核全局变量

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

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

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

导航