会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
codeisland
博客园
首页
新随笔
联系
订阅
管理
2025年9月12日
qemu的外部快照实现原理
摘要: 一 基础概念 1 外部快照 当一个快照被创建时,创建时当前的状态保存在当前使用的磁盘文件中,即成为一个backing file。此时一个新的overlay被创建出来保存往后的数据。 2 backing file和overlay 对基础镜像做外部快照,生成的快照文件被称为overlay,基础镜像成为b
阅读全文
posted @ 2025-09-12 17:21 dogonthemoon
阅读(173)
评论(0)
推荐(0)
2025年9月9日
io tracing常用工具
摘要: 内核的io系统错综复杂,跟踪io并不像用户态使用gdb那么简单,也没有一种万能的工具可以做到。针对不同的子系统,我们需要挑选不同的工具来跟踪io,以达到监控性能、诊断故障或者了解工作原理的目的。 一 性能监测 iostat 是最常用到的io性能监测工具,它可以实时报告读写速率、块大小、时延等重要信息
阅读全文
posted @ 2025-09-09 15:00 dogonthemoon
阅读(158)
评论(0)
推荐(0)
2025年9月8日
io慢的常见原因
摘要: 1 块设备自身慢 本地存储自身慢。 远端存储的网络慢。 设备驱动问题。 2 块层慢 scheduler,nr_requests,read_ahead_kb等与io相关的内核参数配置不优。 与脏页落盘相关的内核参数配置不优。 bio限速。 3 vfs层慢 本地文件系统的格式化参数不优。 网络文件系统负
阅读全文
posted @ 2025-09-08 12:24 dogonthemoon
阅读(30)
评论(0)
推荐(0)
几种io模型
摘要: 一 同步/异步 io 同步io 调用如 read()、write() 等系统调用时,进程会阻塞,直到数据读写操作完成后才返回。 期间进程无法做其他事情,等待 I/O 完成。 简单易用,但在高并发或慢设备场景下可能导致性能瓶颈。 异步io 进程发起 I/O 请求后,系统立即返回,I/O 操作在后台进行
阅读全文
posted @ 2025-09-08 11:45 dogonthemoon
阅读(16)
评论(0)
推荐(0)
与io相关的文件和目录
摘要: /proc/diskstats 记录了所有块设备(如磁盘、分区等)的io统计信息。 /sys/block/$disk/stat 记录了某个块设备的io统计信息。 /dev/mapper/* 列举了lvm设备的名称。 /dev/disk/* 是 udev 生成的块设备符号链接目录。它记录了系统中所有磁
阅读全文
posted @ 2025-09-08 10:31 dogonthemoon
阅读(15)
评论(0)
推荐(0)
2025年9月4日
qemu的io流程
摘要: qemu version: 4.1.0 一 qemu主线程 以存储类型virtio-blk为例,guest内部发起io请求,当qemu主线程轮询到了ioeventfd,调用aio_dispatch_handlers处理io。 aio_dispatch_handlers ... virtio_queu
阅读全文
posted @ 2025-09-04 19:22 dogonthemoon
阅读(27)
评论(0)
推荐(0)
2025年9月2日
qemu的设备模拟
摘要: qemu支持大量的设备仿真,例如网卡,usb,磁盘等。这些设备的配置容易让人困惑,下面的内容有助于理解它们。 一 前端 前端指的是设备如何呈现给guest的,也就是guest系统内部看到的设备类型。qemu通过命令行 -- device指定前端设备,执行接“ -- device help”的qemu
阅读全文
posted @ 2025-09-02 17:09 dogonthemoon
阅读(38)
评论(0)
推荐(0)
qemu, kvm 和 ioeventfd
摘要: kernel version: 4.18 qemu version: 4.1.0 一 前言 1 eventfd是什么? eventfd可以用于线程或者父子进程间通信,内核通过eventfd也可以向用户空间进程发消息。其核心实现是在内核空间维护一个计数器,向用户空间暴露一个与之关联的匿名fd。不同线程
阅读全文
posted @ 2025-09-02 15:54 dogonthemoon
阅读(26)
评论(0)
推荐(0)
公告