virsh dump 内核转储 crash 分析swapper内核进程

2023-05-16

为了节约时间,虚拟机配置4G内存,避免dump时间过长、文件过大

    <memory>4194304</memory>
    <currentMemory>4194304</currentMemory>  //memory这两个值最好设成一样


    <vcpu>4</vcpu>


 vnc登录虚拟机

编写一个CPU消耗程序a.c

void main(){
    while(1){}
}

不采开启优化编译

gcc -O0 a.c

默认生成可执行程序:a.out

后台执行起来

./a.out &

top查看负载

 此时,宿主服务器执行dump,执行过程中虚拟机被挂起

virsh dump --memory-only redflag1 redflag1-memonly.dump

进入虚拟机,nfs访问宿主机上的dump文件,启动crash分析

 ps查看进程(由于多次实验,a.out导致记录的 pid前后不一致)

 查看运行中的进程

内存使用状态

 总结

  virsh dump出来的内核转储文件,crash分析,虚拟机有多少个核心,对应会有多少个swapper进程,本环境中分别是[swapper/0]、[swapper/1]、[swapper/2]、[swapper/3],其PID为0,均处于RU(即执行)状态。

  通过swapper进程,不能判定当前CPU是否处于空闲状态。(原先猜测的是swapper进程运行标识CPU空闲,此思路错误)。

  crash调试环境尚未发现有top这类观察CPU消耗状态方法。

FT2000+ openEuler 20.03 virsh创建qemu kvm虚拟机 启动qemu kvm_hkNaruto的博客-CSDN博客

https://www.cnblogs.com/MrVolleyball/p/11606248.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

virsh dump 内核转储 crash 分析swapper内核进程 的相关文章

随机推荐