如何增加範圍樹的深度?應該分配多少空間?更精確地說,我只需要深度大於1.在ext4中增加範圍樹的深度
1
A
回答
1
在ext4中,inode默認使用60個字節來尋址4個擴展區(擴展區爲12字節+擴展區爲4 * 12字節)。每個範圍可以保存128MiB的數據(默認情況下)。 如果一個文件大於4 * 128MiB(> 512MiB),ext4正在爲此構建一個擴展樹。所以你會達到深度= 1。
現在的問題是什麼時候你會達到深度= 2。我嘗試了一個〜700MiB的文件,並檢查了範圍深度爲1.然後,我打開由範圍索引的fs塊並分析了頭文件。
0A F3 06 00 54 01 00 00 00 00 00 00 00
它具有f30A的典型幻數,接下來的兩個字節應表示範圍的數量。 (在這種情況下= 6,這是合理的,因爲700/128 = 6)。 接下來的2個字節0154應該表示在我的情況下達到340的範圍的最大數量(根據標題信息)。
- > so why 340?如果我們看看ext4的實際fs塊大小,則默認爲4096字節。 每個索引由12個字節組成。 340 * 12 = 4080 + 12爲頭= 4092,所以它是可以放入這個fs塊的最大數量的extent-info。
如果我正確解釋這個,你可以在這個fs塊中最多保存340個其他指針/葉/索引。這些340中的每一個都指的是一個範圍(可以容納128MiB) - >因此它涉及:340 * 128MiB〜43,5 GiB
此外,每個inode最多可容納4個擴展區。所以我想這個數字需要乘以4即使。
-> so I think your file should be > 4*340*128MiB ~ 174GiB to reach depth=2
我還沒有測試這個假設,但我會盡快嘗試。同時,如果有人能夠推測我錯了,我也很高興。 :)
相關問題
- 1. 範圍深加入
- 2. 增加軸範圍
- 3. 如何在Linux中增加EXT4時間戳精度?
- 4. kinect深度相機的更改範圍
- 5. ActiveRecord的2級深度範圍
- 6. 增加圖書深度
- 7. Ext4重載樹
- 8. SQL中的樹深度
- 9. 立體聲 - 深度範圍計算
- 10. AngularJS改變深度範圍對象值
- 11. 增加iBeacon顯示範圍
- 12. Python範圍步驟增加
- 13. 增加HTML5範圍按鈕
- 14. 二叉樹的高度範圍
- 15. 增加安卓加速度計的範圍
- 16. 深度在樹形結構中的BigQuery
- 17. 最大樹深度在Haskell
- 18. 在範圍內插入一行時自動增加COUNTIF範圍
- 19. 增加OpenGL屬性堆棧的深度
- 20. 增加MySQL查詢的深度
- 21. 從本地範圍增加對象的範圍
- 22. 找到深度的樹haskell
- 23. 確定樹的深度
- 24. 找到樹的深度?
- 25. jQuery的日期範圍滑塊 - 如何增加下降幅度
- 26. 如何增加HTML5輸入類型的長度/大小範圍
- 27. 在Python中修復深度樹
- 28. 增加的輸入值$範圍
- 29. 增加了產品的價格範圍
- 30. 增加UISlider的範圍-1.0到1.0
謝謝,如果這真的是這樣(我不明白爲什麼它不應該),這是非常傷心:))無論如何,再次感謝,如果你嘗試它,在我做之前,讓我知道。 –