タグ付けされた質問 「io」

I / Oは入力/出力の頭字語で、1つのシステムまたはコンポーネントと別のシステムまたはコンポーネントの間で情報を転送するためのメカニズムまたはプロセスを指します。

3
パイプするtarですが、-v詳細出力はSTDERRとは別にしてください
通常のtarコマンド tar cvf foo.tar ./foo >foo.out 2>foo.err 3つの出力IOストリームがあります データをfoo.tarにアーカイブする STDOUTへのファイル名のリスト(foo.outにリダイレクトされる) STDERRへのエラーメッセージ(foo.errにリダイレクトされる) 次に、ファイル名のリストを読む必要なく、エラーメッセージについてfoo.errを検査できます。 アーカイブデータで何かをしたい場合(netcatまたは特別な圧縮プログラムにパイプを介して)、tarの-f -オプションを使用でき ます。 tar cvf - ./foo 2>foo.err | squish > foo.tar.S しかし、tarの-v出力は明らかにSTDOUT(アーカイブデータが流れる場所)に行くことができないため、ファイル名のリストはエラーメッセージと混在しています。 Kornシェルを使用して、アーカイブストリームを別のコマンドにパイプ処理しながら、-vエラーメッセージとは別に出力をキャプチャするコマンドを作成する方法はありますか。
12 tar  ksh  io 

2
Linuxにおける予測不能な大規模なI / Oパフォーマンスの低下
私は6年ほど問題なくDebianテストを使用しています(定期的に更新しています)が、最近「ランダムな動作が見られ始め、 "再起動まで持続する低いI / Oパフォーマンス"と要約できます。 問題は、突然すべてのディスクの読み取りと書き込みが約5MB /秒に遅くなり、連続的な読み取りと書き込みが発生することです。レートが非常に低いため、ディスクは機械的にチャレンジされたりストレスを受けたりしませんが、再起動するまですべてが遅くなります。 コンピューターのI / Oサブシステムは、1つのOCZ Vertex 3 SSDと2つのWD Caviar Black HDDで構成されています。SSDはOSの読み取りが多い部分を保持し、HDD上のパーティションは残りを保持します。 問題を診断するために、私は次のことを試みましたが成功しませんでした: top CPUでもI / Oの使用でも暴走は見られません。 hdparmディスクの通常のパフォーマンス評価を返します(-tただし、チェックしただけです)。 smartctlディスクのパフォーマンスの問題は表示されません。長いテストの結果、ディスクは新品同様であることがわかりました。 システムにはZ77チップセット、16GBのRAM、Intel i7 3770K CPUがあり、統計にはRAM、I / O、またはCPUの飽和の兆候はありませんが、このような問題(特にカーネル空間)をデバッグする経験はありません。任意の助けをいただければ幸いです。 更新1: 予防策として、すべてのパーティションで(強制的に)fsckを実行しました。すべてのFSはクリーンです。 ちなみに、1か月前にリリースされて適用されたBIOSアップグレードを見つけました。 50%を超えて埋められるパーティションはありません。 アップデート2: 問題は2日間浮上していません。どちらかfsckまたはBIOSのアップデートは、システム内のいくつかの目詰まりを掃除しました。私はまだ問題を監視しており、死後の回答で質問を閉じます。 更新3: 問題が表面化し、さらに掘り下げました。答えを見てください。
11 linux  performance  io 

2
iotopが特定のディスク用ですか?
iotop特定のボリュームのIOを監視するためのようなツールはありますか?(または、おそらく私はフィルタリングする方法を逃しましたiotopか?)ない場合、(たとえば)を介してこの情報を取得する方法はありませ/procんか?(dstatボリュームごとのすべてのプロセス全体の総アクティビティのみを表示しますが、各プロセスがどの程度貢献しているかを確認することに興味があります。)
11 linux  io  top  proc 


3
rsyncの片側をそんなに忙しくしているのは何ですか?
私のLANには、他の人のバックアップサーバーとして機能するDebianマシンがあります。4つのHDDがソフトウェアRAID 5 mdデバイスに結合されており、そのLVMとそのbtrfs上にあります。バックアップはrsyncを使用して行われ、大きなファイルシステムの場合は1時間以上かかります。長い間、私はこれについてできることはほとんどないと思っていました。 しかし最近、転送の両端でHDDアクティビティが大きく異なることに気付きました。Gentooを実行していて、ほとんどがext4を使用している送信側には、ディスクIOがほとんどありませんでしたが、受信側は常にビジーでした。ほとんどのデータは転送間で変化しないので、メタデータの読み取りはデータの大部分を占めるはずだと思います。しかし、btrfsでiノードを読み取ることがext4で同じことを行うよりも多くの作業であるとしたら、私は本当に驚きます。 iotop 受信側で約1〜4 MB /秒のディスク読み取りを確認しましたが、送信側ではたまに0.5 MB /秒のバーストしかありませんでした。 私の質問は、誰かがここで何が起こっているのか説明できますか?できれば、問題を回避する方法を示してください。 おそらく、私が使用できるいくつかのbtrfsチューニングフラグ、または類似したものがあります。バックアップサーバーにスナップショット機能を備えたFSが必要です。FreeBSDとZFSを使用しようとすると、すぐにFSの一貫性が失われるため、現時点ではbtrfsに代わるものはほとんどありません。したがって、ext4またはzfsを使用するように指示する回答は、賛成票を受け取る可能性がありますが、チェックマークは受け取りません。 cjmからの要求に応じて、使用中のRsyncオプション: --rsync-path='rsync --fake-super' --archive # -rlptgoD --hard-links # detect and preserve these --acls --xattrs --sparse --noatime # based on patch from samba #7249c1 --delete --delete-delay --fuzzy --human-readable # size suffixes, base 1000 --stats また、-fいくつかのファイルを除外するための一連のルール。 btrfsのマウントオプションは、次のように報告さmountれます。 rw,nosuid,noexec,noatime,nospace_cache 特に、これにはnoatimeフラグが含まれているため、一部のファイルに実際に違いがない限り、書き込みは必要ありません。私は、に応じてこの情報を追加した答えによって、カイル・ジョーンズ。
11 performance  rsync  io  mdadm  btrfs 

2
curlが(コマンドラインを介して)ファイルが既に存在する場合に上書きするように指定するにはどうすればよいですか?
私はこの構文でcurlを使用しています: curl -o myfile.jpg http://mysite.com/myfile.jpg このコマンドを2回実行すると、2つのファイルが取得されます。 myfile.jpg myfile-1.jpg ファイルが存在する場合、上書きするようにCURLに指示するにはどうすればよいですか?
11 filenames  io  curl 


2
高IO待機-根本的な原因を特定する方法
2つの専用サーバーにMySQLインスタンスがあります。1つは本番用、もう1つはテストプラットフォーム用です。 2つのサーバーはかなり同じですが、唯一の違いはRAIDコントローラーと仮想ボリュームです(HDは同じです)。本番環境には、専用のHW RAIDコントローラとRAID 10ボリュームがあります。一方、RAIDコントローラはソフトウェア(Lenovo ThinkServer RAID 110i)のようで、ボリュームはRAID 5です。 MySQLのコミット中に、iowaitが高くなっていることに気付きました。 while true; do date; ps auxf | awk '{if($8=="D") print $0;}'; sleep 1; done root 26661 0.0 0.0 0 0 ? D Jun09 5:41 \_ [jbd2/dm-14-8] root 26691 0.0 0.0 0 0 ? D Jun09 0:57 \_ [jbd2/dm-10-8] Thu Jun 18 …

2
Ubuntuで不良ブロックの再試行/待機時間を削減する
障害が発生したドライブにOSが継続的に書き込みを試行しないように、IO待機時間と再試行時間を削減するにはどうすればよいですか? 私は、通常のSATAデスクトップハードドライブに顧客に貸し出されるデモコンテンツのコピーを作成するために使用するシステムを持っています。SASを介して一度に多くのドライブを接続し、スクリプトを使用してコンテンツをドライブにコピーします。 ドライブが貸し出されているため、一部が破損して戻ってくることがありますが、それらが破損していることはわかりません。そのため、次にそのドライブがコピー操作で再利用されると、システムがそのドライブへのIOを再試行するときに他のドライブの速度が低下します。場合によっては、不良ドライブに気づいて削除するまでに数時間かかることがあります。ドライブを取り外すと、残りのドライブは通常の速度で書き込みを開始します。 不良ドライブを回復する必要はありません。私はそれらを取り除き、他のすべてを遅くしないようにする必要があります。 私はbadblocksとsmartmontoolsについても調査しており、書き込みを始める前にドライブの事前チェックを書き込むことを検討しています。 OS:Ubuntu Linux(12.04 lts)


1
バックグラウンドプロセスが自発的に停止することがあるのはなぜですか?
時々、bgbashでプロセスをバックグラウンド化した後、同じシェルでEnterキーを押してプロンプトを再表示するときがあります(バックグラウンドプロセスからの出力が表示されたときに、まだbashであることを確認するため)。バックグラウンドプロセスが自然に停止するようです。 bgもう一度やると、同じ問題が再発します。 それを修正する唯一の方法はようfgです。 なぜこれが起こるのですか?

3
特定のディレクトリでディスクI / Oを監視するにはどうすればよいですか?
既知の名前を持ついくつかのプロセスがあり、すべて単一のディレクトリ内のファイルに書き込みます。(ファイルアクセスだけでなく)一定期間のディスクブロックの読み取りと書き込みの数をログに記録して、パラメーターの変更によってI / Oの量が大幅に減少するかどうかをテストします。現在はを使用していますが、これはパーティション全体に限定されています。iostat -d -p

2
mkfifo-ディスクI / Oは実際に発生しますか?
2つのアプリケーションがあります。 プロデューサー(Nインスタンス) 消費者(1インスタンス) 現在、プロデューサーから中間結果を書き出し、コンシューマーがこれらのファイルをディスクから読み取って、最終結果を生成しています。 プロデューサからの出力を直接コンシューマに「ストリーミング」することで、このI / Oを最小限に抑えたいと思います。 名前付きパイプ(mkfifo)とそれに続く例をここで見つけました。これは素晴らしいように見えますが、私が判断できないことは、これが実際にどのように実装されているかです。FIFOキューはファイルを介してバッファリングされているだけですか?もしそうなら、それはおそらく私を助けません。ディスクを利用せず、コンテンツ全体を「メモリ経由」でストリーミングしたい。多分これはプロセス間で可能ではありませんか?
10 io  fifo 

3
PidあたりのハードドライブI / O
pid /プロセスごとのディスクI / Oを確認する方法はありますか?Monitorixは次のように表示し、問題がある場合は修正しますが、ハードドライブがシステム全体の速度を低下させているようです。 アップデート#1 頂上はすべての上に素晴らしい概観を与えるようです。 私が赤でマークした待機は何を意味するのでしょうか? それはディスクI / Oからの待機ですか?


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.