108 Star 475 Fork 237

GVPopenEuler / stratovirt

 / 详情

Stratovirt启动轻量型虚拟机的性能优化问题

待办的
任务
创建于  
2023-08-24 11:36

安装Stratovirt

yum install stratovirt
stratovirt -version

安装2.1.0版本的stratovirt

用Stratovirt运行虚拟机

制作kernel镜像

  • 安装编译工具和内核源码
yum install make gcc bison flex openssl-devel elfutils-devel -y #编译工具

yum install kernel-source -y #内核源码

制作rootfs镜像-按照构建脚本构建镜像

https://gitee.com/openeuler/openeuler-os-build/blob/master/script/step/make_microvm_image.sh

  • 创建rootfs目录
dnf -y --installroot=${rootfs_dir} --noplugins install systemd yum iproute iputils
  • 制作rootfs镜像
size=`du -sh --block-size=1MiB ${rootfs_dir} | cut -f 1 | xargs`
size=$(($size+500))
img_file=${workdir}/img
dd if=/dev/zero of=${img_file} bs=1MiB count=$size && sync
mkfs.ext4 ${img_file}
root_mnt=${workdir}/rootmnt
mkdir -p ${root_mnt}
mount $img_file $root_mnt
tmp_dir=${workdir}/tmp

if [ ! -d ${tmp_dir} ]; then
    mkdir -p ${tmp_dir}
else
    rm -rf ${tmp_dir}/*
fi

if [ -f ${tmp_dir}/rootfs.tar ]; then
    rm ${tmp_dir}/rootfs.tar
fi

pushd ${rootfs_dir}
tar cpf ${tmp_dir}/rootfs.tar .
popd

pushd ${root_mnt}
tar xpf ${tmp_dir}/rootfs.tar -C .
popd

sync
sleep 10
umount ${root_mnt}      
  • 启动虚拟机
/usr/bin/stratovirt \
    -machine microvm \
    -kernel  /usr/src/linux${kernel_src_version}/vmlinux.bin \
    -append "console=ttyS0 root=/dev/vda reboot=k panic=1" \
    -drive file=${workdir}/img,id=rootfs,readonly=off \
    -device virtio-blk-device,drive=rootfs,id=rootfs \
    -qmp unix:/tmp/stratovirt.socket,server,nowait \
    -serial stdio

性能测试

  • 测试启动时间,内存占用,硬盘占用三项指标

如何进行性能优化

启动时间

[root@StratoVirt ~]# systemd-analyze 
Startup finished in 657ms (kernel) + 2.241s (userspace) = 2.898s 
graphical.target reached after 2.217s in userspace

内存占用

[root@StratoVirt ~]# free -h
               total        used        free      shared  buff/cache   available
Mem:           228Mi        27Mi       179Mi       728Ki        21Mi       193Mi
Swap:             0B          0B          0B

硬盘占用

[root@StratoVirt ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       1.1G  617M  375M  63% /
devtmpfs        112M     0  112M   0% /dev
tmpfs           115M     0  115M   0% /dev/shm
tmpfs            46M  728K   46M   2% /run
tmpfs           4.0M     0  4.0M   0% /sys/fs/cgroup
tmpfs           115M     0  115M   0% /tmp

评论 (2)

Hi yangtzuho, welcome to the openEuler Community.
I'm the Bot here serving you. You can find the instructions on how to interact with me at Here.
If you have any questions, please contact the SIG: Virt, and any of the maintainers: @朱科潜 , @frankyj915 , @Bin Wu , @ZhiGang , @alexchen , @Chuan , @imxcc , @ZhangBo , @yezengruan , @limingwang , @sujerry , @李华超

yangtzuho 创建了任务
openeuler-ci-bot 添加了
 
sig/Virt
标签
展开全部操作日志

此issue建议分类到X86架构下

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(3)
5329419 openeuler ci bot 1632792936
1
https://gitee.com/openeuler/stratovirt.git
git@gitee.com:openeuler/stratovirt.git
openeuler
stratovirt
stratovirt

搜索帮助