如何确定Linux上ext3分区的块大小?


Answers:


61
# tune2fs -l /dev/sda1 | grep -i 'block size'
Block size:               1024

将/ dev / sda1替换为要检查的分区。


27

没有root,无需编写,并且对于任何文件系统类型,您都可以执行以下操作:

stat -fc %s .

这将给出当前目录(或指定的任何其他目录而不是点)中安装的文件系统的块大小。


2
不要忘记该命令末尾的点,因为stat -f期望一个文件夹可以为您提供统计信息。
BeowulfNode42'1

并将其进一步缩小到OP的要求:stat --printf='%s' -f .
Jani Uusitalo

使用newlinestat --printf ='%s \ n'-f。
c4f4t0r

1
@ JaniUusitalo,@ c4f4t0r:感谢您的提示,更正了使用答案的答案-c,比--printf='...\n'
mik

12
dumpe2fs -h /dev/md2

将输出以下内容:

Block size:               4096
Fragment size:            4096

7

在x86上,文件系统块几乎总是4KiB(默认大小),并且永远不大于内存页面的大小(4KiB)。


在每个平台上都相同,ext2 / 3支持的最大块大小为4096字节。
Dave Cheney

谢谢戴夫!我今天学到了一些东西;-)我本来以为在支持8k内存页面的平台上,ext3块大小可能是8k。
wzzrd 2009年


1
@dfrankow:如果您有8k的内存页面,例如在Alpha硬件上,则可以。但是您在x86硬件上没有这些,这就是我所谈论的。
wzzrd 2012年

5

如果您无权tune2fs在设备上运行(例如在公司环境中),则可以尝试将单个字节写入有问题的分区上的文件并检查磁盘使用情况:

echo 1 > test
du -h test

1

要检测所需分区的块大小:

  1. 检测分区名称:

    $ df -h
    

    例如我们有 /dev/sda1

  2. 检测此分区的块大小:

    $ sudo blockdev --getbsz /dev/sda1
    


0

采用

sudo dumpe2fs /dev/sda1 | grep "Block size"

/ dev / sda1是设备分区。你可以从lsblk

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.