Linux文件系统十问

    xiaoxiao2021-12-02  19

    机械磁盘随机读写时速度非常慢,操作系统是采用什么技巧来提高随机读写的性能的?

    操作系统通过按磁道对应的柱面划分分区,来降低磁盘IO所花费的的寻道时间 ,进而提高磁盘的读写性能

    touch一个新的空文件占用磁盘空间吗? 占用的话占用多少?

    一个空文件占一个inode(一般为256byte)

    新建一个空目录占用磁盘空间吗?占用多少?和新建一个文件相比,哪个占用的更大?

    一个空目录占一个block(一般为4k)+一个inode(一般为256byte)

    你知道文件名是记录在磁盘的什么地方吗?

    文件名是存在目录占用的block中的

    文件名最长多长?受什么制约?

    文件名最长不得超过255byte

    文件名太长了会影响系统性能吗?为什么会产生影响?

    文件名长了会对系统性能产生影响,因为这可能会导致更多的磁盘IO , 增加在目录下查找文件的开销

    一个目录下最多能建立多少个文件?

    这个其实是受限于你目录所在分区的inode数量,你有100W个inode,你最多就可以新建100W个文件。但是单个目录下文件数量最好不要过万,否则会因为缓存过多的目录数据而带来系统性能的问题

    新建一个内容大小1k的文件,实际会占用多大的磁盘空间?

    实际会占用1个block(一般为4k)和一个inode(一般为256byte)

    向操作系统发起读取文件2Byte的命令,操作系统实际会读取多少呢?

    文件系统在向磁盘发起IO请求的时候,也是以block size为单位的,哪怕你只向操作系统发起读取文件的2Byte数据,但是操作系统会一次性给你读取一个block(一般为4KB)回来

    我们使用文件时要怎么样来能提高磁盘IO速度?

    如果你知道你的要新建的文件大概会占用多大的空间的话,比如1M。那么你新建文件时就顺便和操作系统说一下,让它帮你将文件的size预留下来。这样实际上操作系统时会尽可能为你分配连续的block,这样你再读取这个文件时,磁头就省去很多寻道时间了,IO速度就显得快多了

    转载请注明原文地址: https://ju.6miu.com/read-679821.html

    最新回复(0)