kernel
文章平均质量分 90
wllabs
一直努力学习和工作中,虽然不如意,但是还是要努力,希望以后越来越好。求各种机会。
展开
-
libvirt numatune 原理
目录numatune是什么线上现状numatune memorylibvirt内核numatune memnodeqemu内核alloc page结论numatune是什么numatune是libvirt的一个参数,可以用在numa架构的虚拟机上,用来控制虚拟机内存访问的亲合性。使用方法如下:xml: <domain> ... <numatune> <memory mode="stric..原创 2021-08-03 09:56:33 · 1291 阅读 · 0 评论 -
基于diagnose-tools 学习字符设备
基于diagnose-tools 学习字符设备1、设备模型分析 关键数据结构 字符设备模型组件 devices 组件 subsystem 内核对象子系统 classes 组件2、字符设备驱动开发 字符设备驱动关键数据结构 字符设备驱动的组成部分代码流程分析...原创 2020-12-30 14:13:30 · 838 阅读 · 0 评论 -
systemd 托管的进程热升级中,systemd的一些坑
问题在我们对某些进程做升级时,并且这些进程是被systemd托管的,比如ovs热升级后发现有新ovs进程起来后又退出了,并且退出后,并没有被systemd重新拉起,这个比较严重,热升级后进程退出,还没有重新拉起,会导致虚拟机网络中断时间过长。分析分析退出原因:1、首先分析什么原因退出的,分析 ovs 日志,并没有发现有报错。2、手动起ovs进程,然后进行热升级,发现进程状态正常,但是用systemd起的ovs进程,只要热升级就退出。3、查看日志,systemctl status ov原创 2020-11-26 16:42:32 · 2054 阅读 · 0 评论 -
ARM64的内核栈、用户栈、寄存器上下文【转】
非常好的一篇文章,转载:https://www.cnblogs.com/zengjianrong/p/11974351.html1.内核栈的分配,即thread_info的分配,是在do_fork->dup_task_struct中分配(默认为2个pages),并赋值给task_struct->stack;2. 用户栈的分配分两种: 一是pthread create会事先mmap分配好用户栈,传给do_fork->copy_thread:用户栈起始地址会赋值给pt_reg..转载 2020-11-14 19:17:58 · 937 阅读 · 0 评论 -
进程guesttime的统计计算流程
主要流程是qemu调用kvm_vcpu_ioctl(cpu, KVM_RUN, 0)后陷入内核态,然后kvm模块会进入vcpu_run,等待被调度,如果被调度成功,则会进入kvm_guest_enter,并把进程task_struct current->flags |= PF_VCPU;,标识进入guest运行。当时间片执行完成后会执行kvm_guest_exit,删除之前设置的PF_...原创 2020-03-16 21:25:05 · 589 阅读 · 1 评论 -
内存Available 是怎么计算的
前段时间在看/proc/meminfo,计算内核态内存,用户态内存,还有X内存。在看这些的时候发现个问题就是 MemAvailable 竟然大于 Buffers + Cached + MemFree,因为在我印象里一直认为Available会少于buff + cache + free的。于是扒代码分析:...原创 2020-03-04 15:57:27 · 3267 阅读 · 2 评论 -
oom详解
目录oom_adj是什么oom_score_adj是什么oom_adj和oom_score_adj关系为什么写入的oom_adj和获取的oom_adj不一致:进程如何打分oom怎么判断oom_adj是什么oom_adj 是一个打分因子, 取值范围 -17到 15。 取值 -17 这个进程就永远杀不掉了oom_score_adj是什么oom_score_...原创 2020-01-09 21:35:09 · 4065 阅读 · 0 评论 -
【转】理解LINUX的MEMORY OVERCOMMIT
Memory Overcommit的意思是操作系统承诺给进程的内存大小超过了实际可用的内存。一个保守的操作系统不会允许memory overcommit,有多少就分配多少,再申请就没有了,这其实有些浪费内存,因为进程实际使用到的内存往往比申请的内存要少,比如某个进程malloc()了200MB内存,但实际上只用到了100MB,按照UNIX/Linux的算法,物理内存页的分配发生在使用的瞬间,...转载 2019-09-23 17:06:24 · 302 阅读 · 0 评论 -
openstack热插拔cpu ram
争取写一篇详细的细节介绍,还是比较能学到不少知识。原创 2019-08-07 13:16:15 · 376 阅读 · 0 评论 -
qmp hmp 热插拔 设备
{"execute":"__com.redhat_drive_add","arguments":{"file":"/tmp/test.img","format":"raw","id":"drive-virtio-disk1","cache":"none","aio":"threads"},"id":"libvirt-13”}{"execute":"device_add","argumen...原创 2019-07-11 13:15:35 · 703 阅读 · 0 评论 -
linux 进程理解 (一)
pid的数量有是有限的:查看大小cat /proc/sys/kernel/pid_max 32768Fork炸弹:(){:|:&};:如果pid被占用完了后,就不能启用新的pid了,导致系统不能执行其它任务,包括执行 kill 命令,即 killall也杀不掉 上面那个Fork 炸弹.原创 2017-09-19 09:13:50 · 352 阅读 · 0 评论