ฉันจะกำหนดขนาดบล็อกของพาร์ติชัน ext3 บน Linux ได้อย่างไร


คำตอบ:


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

แทนที่ / dev / sda1 ด้วยพาร์ติชันที่คุณต้องการตรวจสอบ


26

โดยrootไม่ต้องไม่เขียนและสำหรับระบบไฟล์ทุกประเภทคุณสามารถทำสิ่งต่อไปนี้

stat -fc %s .

สิ่งนี้จะให้ขนาดบล็อกของระบบไฟล์ที่ติดตั้งในไดเรกทอรีปัจจุบัน (หรือไดเรกทอรีอื่น ๆ ที่ระบุแทนจุด)


2
อย่าลืมจุดท้ายคำสั่งนั้นตามที่stat -fคาดหวังคือคาดหวังว่าโฟลเดอร์จะให้สถิติเกี่ยวกับคุณ
BeowulfNode42

และเพื่อ จำกัด ให้แคบลงไปถึงสิ่งที่ OP ต้องการ:stat --printf='%s' -f .
Jani Uusitalo

ด้วย newlinestat --printf = '% s \ n' -f
c4f4t0r

1
@JaniUusitalo @ c4f4t0r: ขอบคุณสำหรับคำแนะนำแก้ไขคำตอบโดยใช้-cซึ่งจะง่ายกว่า--printf='...\n'
MIK


7

ใน x86 บล็อกระบบไฟล์จะมีขนาด 4KiB เสมอ - ขนาดเริ่มต้น - และไม่ใหญ่กว่าขนาดของหน้าหน่วยความจำ (ซึ่งคือ 4KiB)


นี่เป็นสิ่งเดียวกันในทุกแพลตฟอร์มขนาดบล็อกที่ใหญ่ที่สุดได้รับการสนับสนุนโดย ext2 / 3 คือ 4096 ไบต์
Dave Cheney

ขอบคุณเดฟ! ฉันได้เรียนรู้บางอย่างในวันนี้ ;-) ฉันคิดว่า ext3 blocksize อาจเป็น 8k บนแพลตฟอร์มที่รองรับหน้าหน่วยความจำ 8k
wzzrd

Wikipedia กล่าวว่าสามารถเป็น 8k: en.wikipedia.org/wiki/Ext3#Size_limits
dfrankow

1
@dfrankow: หากคุณมีหน้าหน่วยความจำ 8k เช่นบนฮาร์ดแวร์ของ Alpha ใช่ แต่คุณไม่มีฮาร์ดแวร์ x86 และนั่นคือสิ่งที่ฉันกำลังพูดถึง
wzzrd

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.