プロセスアーカイブを構築すると、ioがハングします。

プロセスアーカイブを構築すると、ioがハングします。

Scientific Linuxビルドシステムがあります。

$ cat /etc/redhat-release
Scientific Linux release 6.5 (Carbon)

ビルドプロセスの一部として、多くの(数百)のターゲットファイルが単一のファイルにアーカイブされるアーカイブステップがあります.a。約1分かかるこのアーカイブフェーズ中は、他のプロセスがディスクに書き込むことはできません。たとえば、このアーカイブフェーズ中にvimセッションに書き込もうとしているユーザーは、アーカイブが完了するまで停止されます。

ioniceを使って構築する人にもかかわらず、これが起こります。

ionice -c2 -n7 nice -n19 make -j64 PRETTY=1 <target>

ファイルに書き込む前に、vimセッション(およびtmuxセッションやシェルセッションなど)が正しく機能するため、これはioの問題のようです。

これを引き起こす可能性のあるボトルネックは何ですか?

ベストアンサー1

まず、ionice -c3アイドルスケジューリング(必要なもの)を意味し、-c2最善の努力を尽くします。

第二:利用可能cgroups blkioコントローラスケジュールを微調整するために使用されます。

第三:物理コアよりも多くのスレッドを使用しないでください。したがって、コンピュータに64個のコアがない場合は、コア数を減らしてください。たとえば、-j4

おすすめ記事