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

文章讲述了在虚拟机环境中,为了节省时间将内存配置为4GB并执行dump操作。通过编写CPU消耗程序观察负载,然后使用virshdump进行内存转储,并在虚拟机中使用crash工具进行分析。过程中发现swapper进程并不表示CPU空闲状态,且缺少类似top的工具来观察CPU状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为了节约时间,虚拟机配置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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值