在 zvol 上的 mkfs.ntfs 期間消耗大量資源,為什麼(以及如何限制這一點)?
在我的機器
mkfs.ntfs
上速度很慢,導致大量使用資源,使我無法將機器用於其他任何事情。根據頂部它(或者更確切地說直接相關zvol
的程序)正在使用每個可用執行緒的 80-90%,甚至是已經被其他程序(例如虛擬機)使用的執行緒。這種大量的資源使用是
mkfs.ntfs
正常的嗎?如果是這樣,有沒有辦法限制mkfs.ntfs
使用的執行緒數?我在想,如果我可以將它限制在幾個執行緒/核心,那麼其他程序將擁有資源,以便我可以繼續工作。編輯附加資訊。
我使用 Ubuntu 20.04 作為我的主機作業系統,我正在格式化的捲是 ZFS zvol。這個 zvol 與一個 ext4 分區共享一個鏡像 VDEV,我執行 Kubuntu。
為了製作我跑的 zvol
sudo zfs create -V 400G -o compression=lz4 -o volblocksize=8k -s nvme-tank/ntfs-zvol
在評論中的建議之後,我嘗試使用
nice
來降低命令的優先級。它有一點幫助,但仍然導致我使用的 VM 極度滯後。nice -n19 sudo mkfs.ntfs /dev/zd16 -c 8192
除非您告訴它將分區歸零並檢查壞扇區(至少在我的版本中這是預設設置),否則單個案例不應花費那麼長時間。檢查壞扇區是個好主意,但您可以使用選項跳過它
-f
sudo mkfs.ntfs -f /dev/zd16 -c 8192
NTFS 格式化可能比 ext4 更慢(例如,它需要寫入更多數據來初始化磁碟結構),但絕不應該讓您的系統感覺無響應/資源受限。
我對 ZFS 不熟悉:可能它本身還沒有完成自己的內部任務(同步、鏡像、資料結構分配等),或者它是使用次優配置創建的,這就是您遇到這些症狀的原因? 或者您的系統缺少 RAM(上次我聽說 ZFS 需要更多 RAM 才能提高效率)?您的
top
輸出中填充了zvol
程序,這意味著 ZFS 文件系統本身正在減慢您的系統速度,而不是mkfs.ntfs
.簡而言之,我們需要 ZFS 專家。我 99% 肯定
mkfs.ntfs
不是罪魁禍首。Internet 上有很多討論表明您沒有考慮到一些 ZFS 複雜性: