迷彩 潜伏 隐蔽 伪装
发布时间:2014-08-15 08:03:23
kernel 3.10代码分析--KVM相关--虚拟机创建
1、基本原理
如之前分析,kvm虚拟机通过对/dev/kvm字符设备的ioctl的System指令KVM_CREATE_VM进行创建,本文简单解释及分析在3.10版本内核代码中的相关流程,用户态qemu-kvm部分暂不包括。......【阅读全文】
发布时间:2014-08-15 08:02:31
kernel 3.10代码分析--KVM相关--KVM_SET_USER_MEMORY_REGION流程
1、基本原理
如之前分析,kvm虚拟机实际运行于qemu-kvm的进程上下文中,因此,需要建立虚拟机的物理内存空间(GPA)与qemu-kvm进程的虚拟地址空间(HVA)的映射关系。
虚拟机的物理地址空间实际也是不连续的,分成不同的内存区域(slot),因为物理地址空间中通常还包括BIOS、MMIO、显存、ISA保留等部分。
qemu-kvm通过ioctl vm指令KVM_SET_USER_MEMORY_REGION来为虚拟机设置内存。主要建立guest物理地址空间中的内存区域与qemu-kvm虚拟地址空间中的内存区域的映射,从而建立其从GVA到HVA的对应关系,该对应关系主要通过kvm_mem_slot结构体保存,所以实质为设置kvm_mem_slot结构体。......【阅读全文】
发布时间:2014-08-13 15:30:23
早就发现了,Arch的systemd提供的那个 rc-local.service 貌似有问题,rc.local不会执行。因为没用rc.local,一直没管。解决方法源自这里,需要稍加改动: http://superuser.com/questions/278396/systemd-does-not-run-etc-rc-local建立文件 /etc/systemd/system/rclocal.service (我怕和系统自带的service冲突,改了个.........【阅读全文】
发布时间:2014-08-12 15:58:31
1、内核hung task检测机制由来
?我们知道进程等待IO时,经常处于D状态,即TASK_UNINTERRUPTIBLE状态,处于这种状态的进程不处理信号,所以kill不掉,如果进程长期处于D状态,那么肯定不正常,原因可能有二:
?1)IO路径上的硬件出问题了,比如硬盘坏了(只有少数情况会导致长期D,通常会返回错误);
?2)内核自己出问题了。
?这种问题不好定位,而且一旦出现就通常不可恢复,kill不掉,通常只能重启恢复了。
?内核针对这种开发了一种hung task的检测机制,基本原理是:定时检测系统中处于D状态的进程,如果其处于D状态的时间超过了指定时间(默认120s,可以配置),则打印相关堆栈信息,也可以通过proc参数配置使其直接panic。......【阅读全文】