web-dev-qa-db-ja.com

Ubuntu 16.04 LTS-複数またはビッグデータのcpにより、システムがブロックされるまで待機時間が増加します

最初は、ハードドライブをtarしてから、100GBのファイルをコピーしたいときに問題を認識しました。その間、私は多くのことを試みました、そして基本的に私は多くのデータコピーがシステム障害を引き起こすのを見ています。フォルダーatemp1内のいくつかのファイルの合計が約1GBである次のスクリプトを使用して、問題を示します。

    while (true);
    do
            cnt=$(($cnt+1))
            echo $cnt cp >> cnt.log
            cp -dupR atemp1/* atemp2/
            top -b -n 1 | head -n 5 >> cnt.log
            echo $cnt rm >> cnt.log
            rm atemp2/*
    done

したがって、スクリプトは何も実行せず、常に同じコンテンツをコピーします。ログファイルのいくつかの行を見ると、結果は次のようになります。

%Cpu(s):  3.9 us, 20.5 sy,  0.0 ni, 54.5 id, 20.0 wa,  0.0 hi,  0.6 si,  0.6 st
%Cpu(s):  3.3 us, 23.5 sy,  0.0 ni, 44.8 id, 27.0 wa,  0.0 hi,  0.5 si,  1.0 st
%Cpu(s):  2.2 us, 29.4 sy,  0.0 ni, 26.6 id, 40.0 wa,  0.0 hi,  0.3 si,  1.6 st
%Cpu(s):  2.0 us, 30.3 sy,  0.0 ni, 23.8 id, 42.0 wa,  0.0 hi,  0.3 si,  1.7 st
%Cpu(s):  1.9 us, 30.7 sy,  0.0 ni, 22.4 id, 43.0 wa,  0.0 hi,  0.2 si,  1.7 st
%Cpu(s):  1.8 us, 31.2 sy,  0.0 ni, 20.9 id, 44.0 wa,  0.0 hi,  0.2 si,  1.8 st
%Cpu(s):  1.3 us, 33.4 sy,  0.0 ni, 13.3 id, 50.0 wa,  0.0 hi,  0.2 si,  2.0 st
%Cpu(s):  1.0 us, 34.7 sy,  0.0 ni,  8.9 id, 53.0 wa,  0.0 hi,  0.1 si,  2.2 st
%Cpu(s):  1.0 us, 34.9 sy,  0.0 ni,  7.9 id, 54.0 wa,  0.0 hi,  0.1 si,  2.2 st
%Cpu(s):  0.9 us, 35.0 sy,  0.0 ni,  6.8 id, 55.0 wa,  0.0 hi,  0.1 si,  2.2 st
%Cpu(s):  0.9 us, 35.3 sy,  0.0 ni,  5.5 id, 56.0 wa,  0.0 hi,  0.1 si,  2.2 st
%Cpu(s):  0.7 us, 36.7 sy,  0.0 ni,  3.2 id, 57.0 wa,  0.0 hi,  0.1 si,  2.3 st

そのため、システムが停止するまで、waは継続的に上昇しています。実際、パラレル端末でトップを見ると、失敗するまでwaが99.7まで上がることがわかります。これが発生している間、システムログファイルには何も表示されません。最後に、ソフトウェアレイド、ext4、LVMを使用しています。 HDDは4 TBそれぞれ。LVMは500GBです。ファイルを削除してから再度コピーするため、常に同じHDDパーツが使用されており、欠陥セクターではないと想定しています。-不要私はすでにそのようなチェックを行ったと言います。この問題について誰か手がかりがあります。それはカーネルの問題ですか?

1
Joe

IOWaitはCPUメトリックであり、CPUがアイドル状態であるが、I/Oが完了するのを待機している時間の割合を測定します。不思議なことに-ほぼ100%iowaitで正常なシステムを使用したり、0%iowaitでディスクのボトルネックが発生したりする可能性があります。システムはスクリプトに対して繰り返しI/Oを実行しているだけなので、waが100%に近づくのは当然のことです。これ自体はあなたの問題ではありません。 Syslogに何も表示されないので、memtestを実行する必要があります。 1 および 2 を参照してから、 スマートにチェック 質問。

また、使用中のドライブに接続されている危険なデータまたは電源ケーブルがある場合もあります。

さらに読む: https://serverfault.com/questions/12679/can-anyone-explain-precisely-what-iowait-is

1
Elder Geek

かなりの時間をかけてテストした後、ついに200 ++ユーロのマザーボード(CPU付き)を100ユーロ未満のマザーボードに交換しましたが、問題なく動作します。副作用として、イーサネットボードは以前のens3とrename2の代わりにNice番号(enp1s0とenp2s0)を取得します。言うまでもなく、古いマザーボードではイーサネットボードの名前が変更されることがありましたが、これは災害でしたが、イーサネットポートブートのいくつかのパラメータ設定で解決できました。 -マザーボード名は公開したくありませんが、同様の問題が発生した場合はご連絡ください。

0
Joe