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

2024年3月29日

ipmitool命令记录

摘要: 远程登陆 ipmitool -I lanplus -H $IP -U $USERNAME -P $PASSWD sol activate 阅读全文

posted @ 2024-03-29 11:38 半山随笔 阅读(8) 评论(0) 推荐(0) 编辑

2024年3月28日

如何编译对应当前kernel源码的initramfs

摘要: 编译kernel一般的流程是:make;make modules_install; make install。make install会生成initramfs并更新grub,但是有时我们不想更新grub,那么可以使用update-initramfs工具来直接生成initramfs。 步骤是: 1. 阅读全文

posted @ 2024-03-28 15:42 半山随笔 阅读(65) 评论(0) 推荐(0) 编辑

2024年1月28日

linux内存管理(三)进程地址空间

摘要: 以下是基于v5.0。 每个进程都有自己的虚拟机地址空间。在task_struct数据结构中有一个mm_struct专门用来描述进程的虚拟地址空间。 struct task_struct { ... struct mm_struct *mm; ... } struct mm_struct { stru 阅读全文

posted @ 2024-01-28 12:23 半山随笔 阅读(74) 评论(0) 推荐(0) 编辑

监控malloc时brk系统调用

摘要: 我们都知道malloc底层是调用brk系统调用实现的,但是不是每次malloc都会调用brk。我们来使用bpftrace验证以下。 写一个malloc的程序。 #include "stdio.h" #include <stdlib.h> int main() { void *p; p = mallo 阅读全文

posted @ 2024-01-28 10:58 半山随笔 阅读(36) 评论(0) 推荐(0) 编辑

2024年1月13日

armv8虚拟化原理笔记

摘要: 随便记记,没有章法。 VTTBR_EL2和TTBR1_EL2有啥区别? VTTBR_EL2是内存虚拟化中stage2页表的基地址存放的寄存器,高16位存放了VMID,用于提高VM TLB性能; TTBR1_EL2,是指在VHE开启的情况下host OS可以在EL2运行,这时候内核使用的页表基地址就存 阅读全文

posted @ 2024-01-13 14:00 半山随笔 阅读(532) 评论(0) 推荐(0) 编辑

2023年12月10日

了解rust的特性

摘要: 用C写os是最适合,因为它最贴近底层,且有很多参考实例。rust也是一门系统级的语言,由于其复杂性,相对C还是需要有更多的语言上认识才能进行下一步。 第一, 写OS跟通常的编程最大的不同在于不能调用库函数,也即不能使用系统调用。所有的库要自己实现,比如打印,分配内存之类的。如果在C上可能都要亲历亲为 阅读全文

posted @ 2023-12-10 18:38 半山随笔 阅读(72) 评论(0) 推荐(0) 编辑

2023年12月9日

记录issue:iptables (legacy): Couldn't load match `comment':No such file or directory\n\nTry `

摘要: 用nerdctl起容器碰到如下issue: FATA[0001] failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error d 阅读全文

posted @ 2023-12-09 16:12 半山随笔 阅读(212) 评论(0) 推荐(0) 编辑

2023年12月2日

debug方法论

摘要: 想来今年有几次印象比较深的debug经历。每次的debug时间差不多在一周,每次也都学到一些新的调式手段。总结以下debug的经验。 第一点:debug最重要的逻辑要严密,要基于一个确定的事实用控制变量法去测试猜想。对于不确定的事实不要当成既定事实,这是debug的大忌。错误往往隐藏在下意识中。要尽 阅读全文

posted @ 2023-12-02 11:13 半山随笔 阅读(34) 评论(0) 推荐(0) 编辑

k8s fsgroup

摘要: k8s的配置中又fsgroup这个概念,请看下面这个配置: apiVersion: v1 kind: Pod metadata: name: test spec: restartPolicy: Never securityContext: runAsUser: 1001 fsGroup: 999 c 阅读全文

posted @ 2023-12-02 10:25 半山随笔 阅读(366) 评论(0) 推荐(0) 编辑

2023年12月1日

使用journal打log

摘要: 常常使用journalctl -t来打log,这种方式很容易丢失一些与之相关的其他进程打出的log,必要时使用journalctl -f来获取足够的log。 阅读全文

posted @ 2023-12-01 12:11 半山随笔 阅读(19) 评论(0) 推荐(0) 编辑

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

导航