問題タブ [disk-io]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Java でディスク I/O のスループット ヒットを最小限に抑えるには?
私は最近、バッファ サイズを 8MB に設定して「ディスク シークによるスループット ヒットを減らすBufferedOutputStream
」ことにより、Java をより効率的に使用するための提案を読みました。
私はこの最後のステートメントに興味をそそられます: ディスク シークからのスループット ヒットを減らす?!?
これはどういう意味ですか?なぜ 8MB がマジック ナンバーなのですか? 前もって感謝します!
c++ - ファイルロギングの効率的な方法
各行に 5 つの要素がある CSV ファイルに大量のデータを記録する必要があります。私は行を格納するために大きなバッファを使用しfwrite(...)
、それがいっぱいになったときにそれを一度にフラッシュし、必要になるまで繰り返しました。以下は、ロギング機能のスニペットです。
しかし、これは実行を非常に遅くしています。 「ファイルをディスクにフラッシュしています」というメッセージが画面に表示されないため、フラッシュが原因ではありません。このロギング関数を呼び出さないと、プログラム全体が数分で実行されますが、これに伴い、2 時間でさえ完了しませんでした。他に根本的な欠陥はありますか?
hdfs - HDFS ランダム読み取りとディスク IO
HDFS ファイルから 1 バイトを読み取る場合、クラスターのどこかにあるディスクから完全な HDFS ブロックが読み取られることを意味しますか (キャッシュが含まれていないと仮定します)。
disk - OS X: ロックされた CoreStorageVolumes をプログラムで見つける方法
プログラムで CoreStorage ボリュームのステータスを確認しました。
IOServiceXyz / IORegistryXyz / ... メソッドを使用すると、ロックされたボリュームでは機能しません。つまり、ユーザーが (まだ) パスワードを入力していない場合、このボリュームに関する情報は表示されません。
diskutil cs listおよび/またはdiskutil cs infoを使用すると役立ちますが、diskutil を起動して出力をスキャンする必要があります。少し遅いので、私はこの方法が好きではありません(execを使用してプログラムを開始します...)
より良い方法はありますか?
少なくとも diskutil で実行できます。では、diskutil を使用する API は何ですか?
libCoreStorage.dylib がありますが、それに関するドキュメントは見つかりませんでした。それはどこにある?
どんな助けでも大歓迎です!よろしく
regex - top と awk で iowait を取得する
ベンチマーク スクリプトの場合、ちょっとした操作の直後に iowait % を抽出する必要があります。
今のところ、私が見つけた最良の方法はこれでした: IOWAIT=top -bn2 | awk '$1~/Cpu/ {print $6}' | sed -n '2p' | tr -d '%wa,'
正しい出力は 2.1 のようなものです:
まず、「-bn2」を正確に指定しなかった場合、理由はわかりませんが、キャプチャを 1 回だけ実行すると、常に 0.1% になります。そのため、キャプチャを 2 回行い、awk して iowait フィールドを取得し、2 行目を sed してから「%wa」を削除します。
参考までに、ここに出力がありますtop -bn2 | grep Cpu
私の問題は次のとおりです。100.0% (たとえばアイドル状態) で 1 つの列を取得すると、列番号がシフトされるため、awk が機能しなくなり、「0.0%hi」フィールドが取得されます。
私の質問は次のとおりです。
- awk に "%wa" を使用して列に移動するように指示する方法は?
誰かが私がやろうとしていることへの最善のアプローチを持っているなら、もちろん私は提案に非常にオープンです!
ありがとう
c - このプログラムがセグメンテーション違反を起こすのはなぜですか?
これは、ファイルとディスクの間のバイトをチェックするために作成したプログラムです。
sdz
なぜファイルと比較しているのか聞かないでください。これはまさに私がやりたかったことです: ファイルをディスクに直接書き込んで、それを読み返します。
sdz
はループ バック デバイスで、 は へのリンク/dev/loop0
です。今のところ、ファイルとディスクが異なっていても構いませんが、プログラムを動作させたいと思っています。いくつかのデバッグによって、セグメンテーション違反が発生している場所を見つけましたが、その理由はわかりませんでした。
簡単に言えば、なぜこれでセグメンテーション違反が発生するのですか?
前もって感謝します