linux文件子系统
分享linux文件子系统
badman250
专注分享IT知识技能
展开
-
linux文件系统系统调用实测的一个方法
通过几个C代码来检测一下文件系统相关系统调用时间,以及和标准I/O库函数的性能差异。主要以read和fread函数为例。1.1.1 read系统调用开销我们来模拟一下read系统调用的开销情况,代码如下:#include <unistd.h>#include <sys/stat.h>#include <fcntl.h>#include <stdlib.h&...原创 2018-04-23 23:03:38 · 632 阅读 · 0 评论 -
blktrace工具源码
1.1.1 关于blktrace我们知道,在iostat工具中,await表示单个I/O所需的平均时间,但它同时包含了I/O Scheduler所消耗的时间和硬件所消耗的时间,所以不能作为硬件性能的指标,至于iostat的svctm更是一个废弃的指标。而blktrace可以在这种场合就能派上用场,从中可以分析是IO Scheduler慢还是硬件响应慢。Blktrace是一个用户态的工具,用来收集磁...原创 2018-04-13 23:55:17 · 1630 阅读 · 0 评论 -
linux块I/O总体概括
直接先上重点,linux中IO栈的完全图如下:系统中能够随机访问固定大小数据片的硬件设备称作块设备。固定大小的数据片称为块。常见的块设备就是硬盘了。不能随机访问的就是字符设备了,管理块设备比字符设备要复杂很多。 块设备中最小的可寻址单元是扇区,一般是2的整数倍,最常见的是512字节。不过很多CD-ROM盘的扇区都是2KB大小。 内核执行磁盘操作都是按照块...原创 2018-04-12 22:53:25 · 935 阅读 · 0 评论