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

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

5
ファイルをメモリに読み込んで2回計算するよりも、2回高速にファイルを繰り返し処理するのはなぜですか?
私は以下を比較しています tail -n 1000000 stdout.log | grep -c '"success": true' tail -n 1000000 stdout.log | grep -c '"success": false' 次の log=$(tail -n 1000000 stdout.log) echo "$log" | grep -c '"success": true' echo "$log" | grep -c '"success": false' 驚いたことに、2番目は最初の2倍近くかかります。それはもっと速いはずですよね?
26 bash  performance  io 

1
なぜ/ dev / zeroからIO_RBYTESとしてカウントしないのですか?
次のコマンドを使用して、Linux 4.x OSのハードドライブを空にします。 sudo sh -c 'pv -pterb /dev/zero > /dev/sda' そして、別のttyを開いて開始しsudo htop、これに気付きました: PID USER PRI NI CPU% RES SHR IO_RBYTES IO_WBYTES S TIME+ Command 4598 root 20 0 15.5 1820 1596 4096 17223823 D 1:14.11 pv -pterb /dev/zero の値IO_WBYTESは非常に正常なように見えますIO_RBYTESが、4 KiBのままであり、変更されることはありません。 他のいくつかのプログラムを実行しました、例えば dd if=/dev/zero of=/dev/zero cat /dev/zero > /dev/zero そして、それらのどれもが多くIO_RBYTESまたはを生成しないのに驚いたIO_WBYTES。 …
25 linux  devices  io  null 

3
stdoutの出力速度を制限するにはどうすればよいですか?
CentOS 5.7を実行していますが、バックアップファイルをにダンプするオプションがあるバックアップユーティリティがありますstdout。バックアップファイルはかなり大きい(数ギガバイト)。ターゲットはSSHFSファイルシステムです。帯域幅を独占し、ネットワークのパフォーマンスを低下させないために、データが「ディスク」に書き込まれる速度を制限したいと思います。 stdoutバイト数に基づいて機能を制限するにはどうすればよいですか?たとえば、プロセスの書き込み能力を約768Bpsに制限します。
24 hard-disk  io  stdout 

5
ファイルは順次ディスクに保存されますか?
私が理解したように、「スパースファイル」とは、ファイルに「ギャップ」があり、実際に使用されるデータが論理ファイルサイズよりも小さいことを意味します。 Linuxファイルシステムはディスク上のファイルをどのように保存しますか?私は主にext4に興味があります。しかし: ファイルをディスク上に順番に保存することはできませんか?つまり、ファイルの一部は物理アドレスXにあり、次の部分は物理アドレスYにありますが、これはX +オフセットに近くありません)。 ファイルの連続性を何らかの方法で制御できますか? 10GBのファイルを割り当てたいです。ディスク上で連続し、異なるオフセット間で分割されないようにします。 異なるタイプ間で異なる動作をしますか?

3
「du」プログラムの攻撃性を低くすることはできますか?
du多数のサブディレクトリの要約を作成し、最悪の犯罪者を見つけ、潜在的な問題を見つけるために急速に上昇しているものがあるかどうかを見つけるために出力を使用する定期的な仕事があります。diffスナップショットに対して使用して比較します。 最上位のディレクトリがあり、サブディレクトリは数百(数百)あり、各サブディレクトリにはそれぞれ数万(またはそれ以上)のファイルが含まれる場合があります。 du -sこのコンテキストでの" "は非常にIOアグレッシブである可能性があり、サーバーがそのキャッシュを救済してから、非常に好ましくない副作用である大量のIOスパイクを引き起こします。 不要な副作用なしで同じデータを取得するために使用できる戦略は何ですか?
21 disk-usage  io  limit 

2
プロセスが「D」状態になるのはいつですか?
「Linuxホスト名2.6.28-15-generic#49-Ubuntu SMP Tue Aug 18 18:40:08 UTC 2009 i686 GNU / Linux」を使用しています すべてのクライアントマシンはシンクライアントを使用し、作業にはラップトップを使用し、サーバーからラップトップにホームディレクトリをマウントします。 ラップトップでfirefoxを開くと、プロセスが「D」状態にあり、他のすべてのユーザーのマシンがハングアップし、lockdプロセスが「D」状態にあるため、firefoxウィンドウは開きません。 ps ajx | grep firefox 1 6187 4313 4313 ? -1 D< 1030 3:16 /usr/lib/firefox-3.5b4pre/firefox-3.5 7610 7622 7621 7610 pts/3 7621 S+ 1030 0:00 grep firefox syslogを確認した場合 7月13日10:35:56ホスト名カーネル:[222583.872059] lockd:ラップトップを監視できません 7月13日10:35:57ホスト名カーネル:[222583.872059] lockd:ラップトップを監視できません ps ajx | grep lockd …
21 linux  process  io 



2
sudo特権のない非rootユーザーのiotopの代替
iotopの代替品を探しています。私の状況は次のとおりです。 実行中にプログラムがハードドライブに頻繁にアクセスしているかどうかを調べたい。 iotopにはroot / sudo特権が必要です。 私のアカウントは他の誰かのシステム上にあるので、rootまたはsudo特権を持つことは許可されていません。 使用できるiotopに代わるものはありますか?

2
高いディスクI / Oがシステムの応答性/パフォーマンスを低下させるのはなぜですか?
高いディスクI / Oがシステムをそれほど遅くした理由を私はまったく理解していませんでした。スローダウンはハード/オプティカルドライブのデータに依存するプロセスにのみ影響を与えると予想されますが、スローダウンはRAMにロードされたものにも影響を与えるため、私にとっては奇妙です。私はここでiowaitについて言及しています。 他の作業を行う代わりに、プロセッサが待機するのはなぜですか?誰でもこの制限を説明できますか、なぜLinuxカーネルで解決されなかったのですか?この問題がないカーネルはありますか? [ 注 ] このパフォーマンス分野ではいくつかの進歩がありました。1つは、後のカーネル(私の場合は2.6.37)の応答性がはるかに高いことです。
19 linux  kernel  performance  io 

1
iotopは1.5 MB / sのディスク書き込みを示しますが、すべてのプログラムには0.00 B / sがあります
iotop出力がわかりません。約1.5 MB / sのディスク書き込み(右上)が表示されますが、すべてのプログラムには0.00 B / sがあります。どうして? このビデオは、Kubuntu 14.04.3 LTS x64 で、数百万のファイルを 含むフォルダーのコンテンツをを使用して削除するときに撮影されましたperl -e 'for(<*>){((stat)[9]<(unlink))}'。 iotopを使用して起動されましたsudo iotop。
18 linux  process  monitoring  io 

1
Linuxでローカルディスクの読み取りと同時にネットワークファイルシステムに書き込む
概要 Linuxを構成して、ローカルディスク/ファイルシステムからの読み取りとネットワーク共有への書き込みの両方を同時に行うことができます。アイドル? 1つの操作だけを実行してから、もう1つの操作を交互に実行する代わりに、読み取りと書き込みを同時に行う方がはるかに高速です。 詳細 LinuxマシンのローカルディスクからNASデバイスに大量のデータを移動しています。 rsync基本的に、CIFSマウントであるにコピー/srv/dataするために使用しています/mnt/nas。 最初は100MB /秒で読み取り、100MB /秒(ギガビットネットワークの制限)でNASに書き込み、読み取りと書き込みの両方が同時に行われました。 しかし、数時間後、ローカルディスクから読み取りを行っていることがわかり、NASに書き込み中に読み取りを停止し、NASに書き込むデータがなくなると、ディスクから読み取りを再開します再び。ディスクの読み取り中はネットワークがアイドル状態になり、ネットワークの使用中はディスクがアイドル状態になります。 言うまでもなく、200MBを読み取ってから200MBを書き込むと、その200MBを同時に読み書きするよりもはるかに時間がかかります。 一度に1つの操作だけを実行して読み取りと書き込みを交互に行うのではなく、読み取りと書き込みの以前の動作を同時に維持するようにカーネルを構成するにはどうすればよいですか? いくつかの観察:ローカルディスクが100 + MB / secで読み取る場合、すべてが並行して正常に行われているように見えますが、ディスクがスローダウンすると(何らかの理由で20MB / secだけになっているようです)、この読み取り/書き込みは切り替えが発生するようです。 私はまた、実行することができますsyncが入れて書き込みが(減少速度で明らかにかかわらず)読み込みと並行して起こって取得するには、手動で数秒ごとsyncにwhileそれが正しい解決策のように見えるしていません5秒ごとに実行されるようにループを... カーネルは約1GBのデータをキャッシュし、ネットワーク上で可能な限り高速に書き込みます-これは問題ありません-データの送信中に低速ディスクの読み取りを停止する必要がある理由がわかりません通信網。
17 linux  io  cache  cifs 

2
xargsが複数のプロセスからの出力をうまくマージしないようにする方法は?
xargsオプションで使用しています--max-args=0(または-P 0)。 ただし、プロセスの出力は、stdout適切な行分離を考慮せずにストリームにマージされます。だから私はしばしば次のような行になります: <start-of-line-1><line-2><end-of-line-1> パターン全体で出力全体を使用egrepし^ているので、xargsこれは結果を台無しにします。 xargsプロセス出力を順番に(1つのプロセスの出力が連続している限り、任意の順序で)強制的に書き込む方法はありますか? または他の解決策はありますか? 編集:ユースケースの詳細: さまざまなホストからWebページをダウンロードして解析したい。すべてのページの読み込みに約1秒かかり、リクエストを並列化する必要があるページが数十個あるため。 私のコマンドの形式は次のとおりです。 echo -n $IPs | xargs --max-args=1 -I {} --delimiter ' ' --max-procs=0 \ wget -q -O- http://{}/somepage.html | egrep --count '^string' ホストIP($ IPs変数)およびその他のデータは含まれているbashファイルから取得されるため、Perlのようなものではなくbashを使用します。


1
iostat:待機とsvctm
iostatマンページで、次の2つの類似した列を見つけました。 await The average time (in milliseconds) for I/O requests issued to the device to be served. This includes the time spent by the requests in queue and the time spent servicing them. svctm The average service time (in milliseconds) for I/O requests that were issued to the device. Warning! …
16 linux  monitoring  io 

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