zvolのmkfs.ntfsの間に多くのリソースが消費されます。理由は何ですか(そしてこれを制限する方法は何ですか)?

zvolのmkfs.ntfsの間に多くのリソースが消費されます。理由は何ですか(そしてこれを制限する方法は何ですか)?

コンピュータが遅すぎるため、mkfs.ntfsリソース使用量が増え、コンピュータを他の目的に使用できなくなります。 topによると、そのプロセス(または直接関連zvolプロセス)は、使用可能なすべてのスレッドの80〜90%を使用しており、他のプロセス(仮想マシンなど)ですでに使用されているスレッドも含みます。

このように多くのリソース使用量がmkfs.ntfs正常ですか?それでは、使用されるスレッド数を制限する方法はありますかmkfs.ntfs?私はそれをいくつかのスレッド/コアに制限することができれば、他のプロセスが引き続き作業できるようにリソースを持つことになると思いました。

追加情報を編集します。

私はUbuntu 20.04をホ​​ストOSとして使用しており、フォーマットするボリュームはZFS zvolです。このzvolは私がKubuntuを実行しているext4パーティションとミラーVDEVを共有します。

私が実行したzvolを作るために

sudo zfs create -V 400G -o compression=lz4 -o volblocksize=8k -s nvme-tank/ntfs-zvol

コメントで提案を受け取った後、niceキャンセルコマンドの優先順位を試してみました。少し役に立ちましたが、まだ私が使用している仮想マシンでは、深刻な遅延が発生しました。

nice -n19 sudo mkfs.ntfs /dev/zd16 -c 8192

これはtop。これらのzvolプロセスはコマンド中にのみ発生するため、mkfs直接関連していると仮定します。 トップ

答え1

NTFSフォーマットはext4より遅いかもしれませんが(たとえば、ディスク構造を初期化するにはより多くのデータを書き込む必要があります)、システムが応答しない、またはリソースが制限されているように感じてはいけません。

私はZFSについてよく知りません。おそらく、ZFS自体が独自の内部タスク(同期、ミラーリング、データ構造の割り当てなど)を完了していないか、最適ではない構成で作成された可能性があるため、この問題が発生します。このような症状?それとも、システムにRAMが不足していますか(最後にZFSの効率を上げるにはより多くのRAMが必要だと聞きました)?出力はプロセスtopでいっぱいですzvol。これはZFSファイルシステム自体がシステム速度を低下させることですmkfs.ntfs

つまり、ZFSの専門家が必要です。mkfs.ntfs犯人ではないと99%確信しています。

ZFSのいくつかの複雑さを考慮しないという主張は、インターネットで多く議論されています。

答え2

パーティションをゼロに設定し、不良セクタをチェックしない限り、単一のケースはそれほど時間がかかりません(少なくとも私のバージョンではこれはデフォルトです)。不良セクタを確認するのは良いですが、オプションを使用してスキップできます。-f

sudo mkfs.ntfs -f /dev/zd16 -c 8192

関連情報