Articles of io

在虚拟机里面有好或坏的文件系统真的很重要?

我想了解IO如何从虚拟机发送到硬盘块。 有一个XFS或ext3或ext4等真的很重要的虚拟机内,或者它只是依赖于主机的文件系统? 与虚拟机和物理机相比,对IO的影响是什么? 以下只是基于我所知道的我的假设。 请纠正我,如果我错了: 比方说,我正在使用RAW图像! 示例1: Preallocation=full (Virtual Size = Disk Size) 如果我理解正确,将用于虚拟机的磁盘块在此模式下进行预分配,并填充零个未使用的数据。 而且,一旦在该原始磁盘上安装了来宾操作系统,所有这些物理磁盘块都将映射到虚拟磁盘块(硬编码映射?)。 而且任何在虚拟机内部发出的IO请求,客户操作系统内核都会首先处理它并向虚拟磁盘发送一个请求,并且这个请求被某种虚拟抽象服务(我猜测是libvirtd)所关注并被发送到硬盘控制器。 但是我没有得到的是如果物理磁盘块被预分配,IO请求应该包含所有的块地址或块映射,以便数据只写入其中一个磁盘块。 但是如何对硬盘控制器做出这样的IO请求,这似乎是一个主要的性能问题。 在这个例子中,我完全排除了主机的文件系统。 我无法find一个方法来关联它。 所有这些都是我的巨大假设。 我觉得我对上述想法是错误的。 但我希望有人会纠正我。 示例2: preallocation=off (Disk Size = Actual usage) 虚拟机的磁盘块不是预先分配的,只能在实际的磁盘使用情况下分配。 实例1中的相同步骤在这里适用,直到将IO请求发送到硬盘控制器,但是这里不需要请求特定的块被覆盖,因为在这里没有预分配。 所以,回到我的实际问题。 似乎虚拟机上的文件系统会产生影响,因为所有对IO的调用都是从客户操作系统内核启动的。 Huhhh困惑!!!! 🙁

如何确定QEMU虚拟机闲置?

我正在使用KVM-QEMU虚拟机。 目前我想知道在虚拟机内运行的程序(如MySql)是否空闲(即不忙处理请求)。 我希望在QEMU级别获得这些信息(来自VM之外的信息)。 从虚拟机进程的CPU使用情况来看,如果这个程序是CPU密集型的,我可以粗略地判断程序是否已经空闲。 但是,有什么build议如何确定这个程序是磁盘IO密集型 ? 因为对于IO密集型应用程序来说,如果它仍然忙于处理请求,它的CPU没有多大用处,我无法从CPU使用情况中分辨出来。 提前谢谢了。

Google计算:为什么持久性ssd磁盘比持久性标准磁盘慢?

我运行了几个IO基准,我不明白pd-ssd如何提供比pd-standard差的IO输出。 在我的testing中,我使用30或250GB的可启动磁盘pd-ssd启动虚拟机,而且我的性能还是比使用100GB的pd标准磁盘的性能还要差。 我可以分享我的基准testing结果。 但是我相信我错过了一些东西

如何在一个猫的terminal中查看格式化的iotop日志文件

所以我用iotop> iohis.loglogging了磁盘使用的历史 我怎样才能查看文件,所以它格式很好,我真的可以find问题。 我以为我可以使用猫,但它只是快速向前走的整个文本。 =(。你可以给我任何提示如何以一个很好的方式查看日志文件?

configuration最大读取吞吐量ssd:pcie vs sata vs raid

我正在寻找使用ssd来configuration存储设置,这将在24核心(12个物理核心)系统上的大型(2GB)文件上提供最快的读取吞吐量。 数据大部分是静态的,虽然有时(1x /星期)它被重写。 我们正在运行的应用程序在其24个核心中的每一个上执行同时读取(即,每个核心有一个线程;每个线程一次从1 2 + gb文件读取)。 SSD故障虽然不令人愉快,但并不是灾难性的,因为这只是将数据从HDD存储器复制回来的问题。 而应用程序是不做小读/写; 只是大而长的顺序读取。 我们需要大约2TB的存储空间。 我试图筛选所有冲突的信息:更快的RAID 0一堆ssd,或者一个REVO 3x pcie是一样快(据我所知,REVO驱动器基本上是一个RAIDtypes的arrays的ssd驱动器在一张卡上)。 SATA3 / RAID存在带宽饱和问题吗? 如果REVO型驱动器是要走的路,如果我们把2或3个这样的东西放在同一个主板上,是否有带宽饱和问题?

我怎样才能决定执行IO的性质?

我正在使用Linux(3.2.12-3.2.4)。 我有几个“syncer”进程,在一个循环中更新大量和大量的SQLite数据库文件。 数据库大小从1 MB到几GB不等。 我有一个“search器”过程,可以查询这些数据库并返回匹配的结果。 我期待调整一些内核参数以获得最大的IO性能。

PHP函数move_uploaded_file()是否会导致磁盘io?

/ tmp目录和目标目录在同一个文件系统上。 如果它处理大文件(超过1GB),这是否创造任何开销的磁盘io? 简单地让php把tmp文件直接放到目的地上会更好吗?

在CentOS 6.4上读取USB备份驱动器的input/输出错误

我突然看到我们的USB备份驱动器上有一些奇怪的行为,这对我来说是没有意义的: (2013-10-21 14:58:23 [root@newdc /]$ cd /mnt/backup/ (2013-10-21 14:59:03 [root@newdc backup]$ ls -la ls: reading directory .: Input/output error total 0 (2013-10-21 14:59:05 [root@newdc backup]$ df -h /mnt/backup Filesystem Size Used Avail Use% Mounted on /dev/sda1 917G 843G 28G 97% /mnt/backup 操作系统怎么可能知道有多less使用,但我不能作为根的任何一个? 或者更重要的是,这表明了什么问题? /var/log/messages说这个: Oct 21 14:57:54 g5 kernel: EXT4-fs error (device sda1): ext4_journal_start_sb: Detected […]

用0%的SWAPON查找99.99%爱荷华州的根本原因

用户和DBA抱怨OEL服务器上的“Oracle速度慢”。 我从操作系统的angular度发现的唯一的事情是iotop有一些奇怪的IOWAIT统计。 iotop输出: Total DISK READ: 27.24 M/s | Total DISK WRITE: 2.32 M/s TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND 10374 be/4 root 190.28 K/s 0.00 B/s 0.00 % 99.99 % clBackup -child 22862 -j ~jt 202777:7:1 -cn xxxxxx12844 be/4 xxxxxx 0.00 B/s 303.15 K/s 0.00 % 99.99 % ora_dbw0_oaprod 14460 […]

FreeBSD上的gstat输出:是否显示一段时间内的平均值?

当您在FreeBSD上运行gstat命令来获取有关I / O性能的信息时,可以通过-I(间隔)选项将默认时间间隔从1秒更改为其他时间范围。 我的问题是,gstat在间隔期间输出平均指标,还是输出只是当时发生的事情的快照?