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

2024年11月15日

ubuntu系统启动时等待网络服务问题

摘要: ubuntu在启动时会启动systemd service,常常会卡在网络服务上。下面是一些可以省去网络等待的方法。参考https://askubuntu.com/questions/972215/a-start-job-is-running-for-wait-for-network-to-be-co 阅读全文

posted @ 2024-11-15 08:49 半山随笔 阅读(21) 评论(0) 推荐(0) 编辑

2024年11月14日

使用ip命令设置ip路由

摘要: 经常创建虚拟机,自己配置网络。一般一个新的镜像里面缺少ifconfig route等工具,必须用ip来设置。 设置静态ip。 ip addr add $(ip)/24 dev $(ifname) 设置路由 ip route add $(gateway ip) dev $(ifname) ip rou 阅读全文

posted @ 2024-11-14 17:16 半山随笔 阅读(6) 评论(0) 推荐(0) 编辑

2024年11月8日

libvirt: 配置virt-net tap上网

摘要: 在libvirt通过修改xml来配置上网有一点复杂,而且网上相关的资料很少不知道其他人都是怎么上网的。参考libvirt文档记录一下如果使用自己创建的tap设备上网。 使用预先创建的tap设备上网 首先得有一个网桥,我一般用docker0当作网桥,只需装一个docker即可。有了网桥之后可以创建一个 阅读全文

posted @ 2024-11-08 13:52 半山随笔 阅读(29) 评论(0) 推荐(0) 编辑

2024年11月7日

futex系统调用分析

摘要: futex - fast user-space locking futex是一个内核态和用户态共同参与实现的锁。它基于一个观察,大多数情况下可能并没有锁的争抢,所以没有必要每次都陷入内核态,可以首先在用户态查询一下锁是否被其他进程/线程占用,如果没有占用可直接返回,无需调用futex syscall 阅读全文

posted @ 2024-11-07 16:35 半山随笔 阅读(75) 评论(0) 推荐(1) 编辑

记录一次性能问题的解决

摘要: 最近在用schbench测试机器调度性能。测试是绑定在一个socket上进行的。当worker线程数等于socket包含的cpu数时耗时会发生一次跳变。主要是futex wake的时候执行时间变长。开始怀疑是kernel的执行逻辑发生了变化,但查看ftrace后发现没有变化。第二个怀疑点是kerne 阅读全文

posted @ 2024-11-07 12:45 半山随笔 阅读(10) 评论(0) 推荐(0) 编辑

libvirt/qemu设置numa distance

摘要: qemu可以模拟numa,设置numa内的memory,cpu,numa间distance。 qemu-system-x86_64 --help | grep numa -numa node[,mem=size][,cpus=firstcpu[-lastcpu]][,nodeid=node][,in 阅读全文

posted @ 2024-11-07 11:10 半山随笔 阅读(17) 评论(0) 推荐(0) 编辑

2024年11月6日

schbench源码分析

摘要: schbench是meta开发的linux调度器benchmark工具,用来测试线程wakeup到占有cpu之间的延迟。 如何使用schbench? schbench -t 2 -m 1 在schbench中有两个重要的概念,woker线程和message线程。message线程由主线程创建,wor 阅读全文

posted @ 2024-11-06 12:10 半山随笔 阅读(71) 评论(0) 推荐(0) 编辑

2024年10月31日

bcc测量函数执行时间

摘要: 获取函数的执行时间对性能分析十分有益,这里给出一个示例来测量kernel 函数的执行时间。 kprobe可用来在函数执行的开始加入探测点,kretprobe可以在函数返回前加入探测点,分别在这个两个探测获取时间,其差值可以作为函数的执行时间。相对ftrace,这种方式要精确很多。下面是一个例子,测量 阅读全文

posted @ 2024-10-31 11:47 半山随笔 阅读(15) 评论(0) 推荐(0) 编辑

2024年10月26日

tlb shootdown

摘要: 如果一个进程被调度出去,相应的该进程的页表项应该从tlb中刷掉。于是tlb在每次进程换入的时候都是miss的。为了解决这个问题,芯片设计厂商引入了pcid/asid这种技术。通过在tlb上给每个进程增加标识,进程在调度出去的时候无需刷tlb,这样在切入的时候tlb还在。尽管这会提升tlb的命中率但同 阅读全文

posted @ 2024-10-26 19:44 半山随笔 阅读(9) 评论(0) 推荐(0) 编辑

2024年9月26日

在centos 8上编译qemu

摘要: 说实话,如果不是有些机器在用centos,真的不想用它,生态不好,没有ubuntu那么方便。真不知道为啥那么多人用。希望centos赶紧消失!!! qemu也是个挺难编译的东西,依赖的库太多,很多比较小众,对版本还有要求。这里只有一个建议,编译跟centos匹配的qemu。qemu在演进,cento 阅读全文

posted @ 2024-09-26 19:06 半山随笔 阅读(27) 评论(0) 推荐(0) 编辑

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

导航