我在一個多線程程序中有一個巨大的虛擬機地址空間。通常它運行在〜5TB的虛擬內存中,並且只能觸及16GB的駐留集。我映射了HugePages,並允許它們從它們的部分中被丟棄。 當RedHat 6.3 + Kernel 3.0.29系統強制執行故障轉儲時,大部分駐留集都被轉儲,但核心文件停止在2TB。如何繞過2TB核心轉儲文件系統限制?
-rw------- 1 root root 2.0T Aug 21 21:15 core-primes-6-1377119514.21645
最高報告〜4TB在這種情況下。
21726 root -91 0 4191g 7.1g 13m R 99.7 5.6 2:39.06 50 primes
GDB報告的核心是截短
BFD:警告:/export0/crash/core-primes-6-1377119514.21645是截短:預期核心文件大小> = 4488958177280,實測值:2133738614784.
是否有一些神奇的foo讓內核轉儲超過2TB的這個 進程?文件系統是ext3,並有足夠的空間。 未使用內存的虛擬機永遠不會被觸摸。
帶有4KB塊大小的底層etx3文件系統在2TB最大文件大小下達到頂峯。切換到XFS文件系統會提供更大的最大文件大小,並且核心轉儲可以達到〜16TB。但是,轉儲需要30分鐘。切換到ext4,本地最大文件大小是16TB。轉儲在<4分鐘內完成。你只需要記住更新fstab。 mkfs.ext4 -LEXPORT0 -Tlargefile/dev/sda10 – user2705306