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

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

1
Linuxおよびその他の* nix OS 'でIO使用量を追跡するにはどうすればよいですか?
時々、私のシステムの何かがディスクを叩き始めます。プロセスごとのI / O使用量を通知するデータをログに記録したいので、後でそのデータに戻って、これを続けているものを確認できます。この問題を解決するにはどうすればよいですか?任意のブロックデバイスでこれを解決するためのボーナスポイント。
15 performance  io 

4
文字列をttyに入れてコマンドを作成します
私はこれをどうにかして echo -n " command "> / dev / tty1 文字は表示され、カーソルは移動しますが、それらは「ゴースト」です。ヒットするとEnter、何も起こりません(標準入力ではありません)。 編集: 下のスクリーンショットの真ん中に、私がこれを使用する理由がわかります。(赤いキャプションが付いた行、黄色のキャプションが付いた行のすぐ下。)今のままでは、実際にはノートテキストを「編集」していません。新しいテキストを書くように求められます。これは、編集中の(実際には)ノートのテキストを置き換えます。したがって、古いテキストをttyに貼り付けるだけで改善できると考えました。ユーザーがEnterキーを押しても、変更は行われません。(このプログラムはPerl / MySQLにありますが、「Perlでこれを行う方法」よりも一般的な解決策を求める方が面白いと思いました。) 編集2: 以下は、以下のCコード(意図したとおりに動作します)を使用するPerlコードと、新しいスクリーンショットです。これにより、疑いの余地がないことがわかります。ノートテキストに-今回は古いテキストがあります。たとえば、タイプミスを修正したいだけの場合、ノートテキスト全体を再入力する必要はありません。 my $edit_note_text = $edit_note_data[2]; print BOLD, RED, " new text: ", RESET; system("writevt /dev/tty \"$edit_note_text\""); my $new_text = <$in>; $new_text = fix_input($new_text); my $set_text = "UPDATE notes SET note = \"$new_text\" WHERE id …
15 tty  io  stdin 

2
NVMeドライブの温度/ IOを監視する
NVMeドライブ(この場合はIntel 750)の温度または読み取り/書き込みを監視する方法はありますか。hdparm、udisksctl、smartctl、およびhddtempすべてでは、Google検索が無益されている、この能力に欠けているように見えます。 不思議なことに、これがシステムドライブにNVMeを使用してFedora 23(Workstation)を実行する際に直面した唯一の困難です。

1
iotopはどのようにして相対的なI / Oアクティビティを計算しますか?
ワークステーションで重いI / Oプロセスをいくつか実行していますが、最近iotopそれらを監視するためにインストールしました。これが最近のスクリーンショットです。 IO>コラムの読みについて少し混乱しています。これは、ディスクが約1500%のI / Oアクティビティで実行されていることを示しています。それも可能ですか? これらの読み取り値からディスクの最大I / Oを把握するにはどうすればよいですか?そして、iotopはどのように相対I / Oアクティビティを計算しますか?
15 performance  io  disk  top 


1
Luksパーティションを閉じることができません
バックアップのために、LVMパーティションを「スナップショット」しました。このパーティションは暗号化されていたため、バックアップを行うためにこのLuksパーティション(スナップショット)を開いています。 問題は、スナップショットを削除するのを忘れたため、使用率が100%に達したということです。 スナップショットを削除しようとすると: lvremove /dev/mapper/vgx-LogVolDBSnapshot /dev/vgx/LogVolDBSnapshot: read failed after 0 of 4096 at 375809572864: Input/output error /dev/vgx/LogVolDBSnapshot: read failed after 0 of 4096 at 375809630208: Input/output error /dev/vgx/LogVolDBSnapshot: read failed after 0 of 4096 at 0: Input/output error /dev/vgx/LogVolDBSnapshot: read failed after 0 of 4096 at 4096: Input/output error /dev/mapper/SnapshotDecrypted: …
13 partition  lvm  io  disk  cryptsetup 


2
VMの重みベースのブロックIO制御
KVMを使用して仮想マシンを管理しています。VMに提供されるリソースを制限しようとしています。libvirt / cgroupsを使用して、VMに割り当てられるCPUとメモリを制限できます。次に、いくつかの重みを適用して、各VMに割り当てられるディスク時間を制御します。私はcgroupsからのblkioコントロールを見ました。VMは単なるLinuxプロセスなので、cgroupを使用できますが、非同期IOでも動作するかどうかはわかりません。そうでない場合、誰かが良い代替ソリューションを提案できますか?

3
SSDでの大量の書き込みアクティビティにより、システムのパフォーマンスが低下します
大量の書き込みアプリケーションを実行すると、システム全体の速度が低下することに気付きました。これをさらにテストするために、これを実行して(比較的)低CPU、高ディスクアクティビティを実行しました。 john -incremental > file_on_SSD これにより、毎秒何万もの文字列がシステムディスク上のファイルに送り出されます。 これを行うと、マウスが遅れ、TTYが応答しなくなり、アプリケーションが「フェード」し、一般的にコンピューター全体が使用できなくなります。最終的にControl + Cができるjohnと、システムは数秒後に完全な強度に戻ります。 これは極端な例ですが、高速ソースからの大きなファイルのコピーやトランスコーディングなど、書き込みの負荷が少し少ないアクティビティで同様の問題が発生します。 私のメインOSディスクは、EXT4を備えた非常に高速なSSD(OCZ Agility 60GB)です。私の書き込みした場合johnEXT4との機械的なディスクへの出力レートがたくさん遅いものの、私は(SSDは毎秒〜42,000の単語を行い、機械は8000ワット/秒をして)同じスローダウンを経験しません。スループットが関係する場合があります。メカニカルディスクもシステムとは関係ありません。それは単なるデータです。 そして、カーネル2.6.35-2を使用していますが、この問題は、SSDを入手したときに、おそらく.31またはその頃の何かを使用していたときに気づきました。 それでは、減速の原因は何ですか?EXT4の問題?カーネルの問題?SSDの問題?上記のすべて?他に何か? 追加のテストを実行する必要があると思われる場合は、何をすべきかを伝えるコメントをドロップするだけで、質問に結果を追加します。
13 kernel  performance  io  ssd 

5
I / Oエラーの原因となる特殊ファイル
不可欠なSQLite DBファイルの読み取りに失敗した場合(I / Oエラーが発生した場合)、ソフトウェアが期待どおりに反応するかどうかを自動的にテストしたいと思います。まさにそれは数日前にクライアントで起こりました。手動で修正しましたが、自動コードを作成して修正し、テストするために壊れたファイルにアクセスする必要があります。 Unixのすべてがファイルであるため、(たとえば/ devで)読み取ろうとすると常にI / Oエラーが発生する特殊なファイルがあるのではないかと考えました。 同様のファイル(imo)は次のとおりです。 /dev/full 書き込もうとすると、常に「デバイスに空き容量がありません」と表示されます /dev/null そして /dev/zero そのため、そのようなファイルが必要であると想定しました(ただし、まだ見つかりませんでした)。 誰かがそのようなファイルまたは私が望ましい結果を得るための他の方法を知っていますか(意図的に欠陥のあるパーティションイメージ、LD_PRELOADを使用したopen()の周りのラッパー、...)? ここに行く最良の方法は何ですか?
13 linux  devices  io  testing 

5
パイプラインで無制限の量のデータをバッファリングするユーティリティ?
パイプラインに固執して読み取りと書き込みの速度を分離できるユーティリティはありますか? $ producer | buf | consumer 基本的に、buf可能な限り高速に入力を読み取り、メモリに保存して、可能な限り高速で実行しconsumerながら甘い時間を過ごすことができるユーティリティが必要ですproducer。
13 pipe  io  buffer 

2
segfaultingプログラムからのパイプ出力
ttf2afm時々セグメンテーション違反を起こすプログラムと、特にそうではないプログラム(具体的には、tetex 3.0の一部)を呼び出すスクリプトがあります。必要な情報は常にセグメンテーション違反が発生する前に出力されますが、プログラムの失敗時にパイプのリダイレクトが失敗し、パイプに何も出力されないようにするのに苦労しています。 FIFOを介してリダイレクトを試行trueし、最後にプロセスをかっこで囲み、シェル関数から実行し、で囲みましたsh -cが、スクリプトはプロセスが何も、リダイレクトまたはその他を出力しないようにしました。 私はそれがコマンドラインから完全に出力できるが、何らかの理由でスクリプトからではないので、出力できることを知っています。 私の質問は、スクリプトがプログラムがセグメンテーション違反を起こし、出力を提供するという事実を無視する方法はありますか? BASH 4.1.10(2)-releaseを実行しています。

3
/ dev / stdoutのターゲットの場所をbashスクリプトに保存する方法は?
最初の/dev/stdoutファイル記述子を他の場所に置き換える前に元の場所を保持したい特定のbashスクリプトがあります。 だから、当然、私は次のようなものを書きました old_stdout=$(readlink -f /dev/stdout) そして、それはうまくいきませんでした。問題が何であるかをすぐに理解します。 test@ubuntu:~$ echo $(readlink -f /dev/stdout) /proc/5175/fd/pipe:[31764] test@ubuntu:~$ readlink -f /dev/stdout /dev/pts/18 当然、$()サブシェルで実行され、親シェルにパイプされます。 質問は次のとおりです。/dev/stdout場所をbashスクリプトの文字列として保存するための信頼できる(Linuxディストリビューション間の移植性を考慮した)方法はありますか?

1
iotopなしでI / Oを実行するプロセスを知る
Linuxでは、どのプロセスがディスクI / O帯域幅を使用しているかを知りたいです。 使用できることは知っていますiotopが、さまざまな理由でiotopインストールできないマシンがあります。 その情報を手動で取得するにはどうすればよいですか?(iotopそれ自体はどのように進みますか?)

1
プログラムのディスクI / O使用量を測定する
time 特定のコマンドにかかるCPU時間を把握したい場合は、すばらしいコマンドです。 プログラムとすべての子のディスクI / Oを測定できる類似のものを探しています。できれば、キャッシュされた(したがって、ディスクをスピンさせなかった)I / OとキャッシュされなかったI / Oを区別する必要があります。 だから私はやりたい: iomeassure my_program my_args 次のような出力を取得します。 Cached read: 10233303 Bytes Cached write: 33303 Bytes # This was probably a tmp file that was erased before making it to the disk Non-cached read: 200002020 Bytes Non-cached write: 202020 Bytes 私は、、およびを見てきましたがvmstat、これらのいずれも単一のプロセスを見ていません。代わりに、システム全体を見ます。iostatsar 私はを見てきましたがiotop、それはこの瞬間に私にビューを与えるだけです。 ---編集--- スナップの答えは近いようです。 …
12 io  time  measure 

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