スキャン時にA/Vソフトウェアが大容量アーカイブファイルを解凍できる場所をどのように知ることができますか?

スキャン時にA/Vソフトウェアが大容量アーカイブファイルを解凍できる場所をどのように知ることができますか?

音声ビデオソフトウェアが大容量アーカイブファイル(通常は1Gを超えるtar.gzファイル)をスキャンしようとするたびに、/パーティションのディスク容量が劇的に増えます。 AVが一時ファイルをどこに保存するのか、正確にどのように知ることができますか?

スキャンが完了すると、ディスク領域は正常に戻ります。複数のユーザーが同時にこのサーバー(CentOS 6.8)にファイルをアップロードしてアップロードするたびに自動的にスキャンが開始されるため、ディスク容量の使用量が非常に速くなり、時には/の100%に達します。

「df」のディスクが増えていることがわかりますが、検査前と検査中に「du -ah --max-length=1/」の結果を比較してみると、フォルダが変わるのがわかりません。

ここに画像の説明を入力してください。

それにもかかわらず、vmstatを使用すると、キャッシュサイズが大幅に増加することがわかります。

ここに画像の説明を入力してください。

"strace"を使って書き込み確認を試み、次のようないくつかのエントリを取得しました。これをどのように解釈するのかよくわかりません。

9358  write(8, "x\3127\16|.b\245\342^\"\252\5X\323,\3036TP\225\33R_\206**\213\177\3405\250"..., 30720) = 30720
9358  write(8, "l\254\3239\335`\3\344\306w\35D~\227\271d\216\n\272\220\323\211\262\323\220\24\232M\221\305\202F"..., 30720) = 30720
9358  write(8, "\230}YI\324\317\201s\271z\245DJO\336u\225\213\22c\302zEW\270\320\322]WZQ\235"..., 30720) = 30720
9358  write(8, "\252\210H&]q\3309U!\207f\207o?\250l\215\332<\341\335h\245<8.\217\f\241\312C"..., 30720) = 30720

ありがとう、

~アビー

答え1

strace 出力は、「書き込み」がファイル・ハンドル 8 を処理していることを示します。 8番ファイルハンドルが何であるかを確認するには、/proc/この場合を見てください/proc/9358/fd。 9358は追跡中のPIDで、fdはそのPIDのオープンファイル記述子を保持します。

以下を見ると、実行中のbashの現在のファイル記述子を見ることができます。

/proc/$$/fd

したがって、上記の操作を実行すると、解凍されたファイルへの8つのシンボリックリンクが表示されます。時間が必要な場合は、SIGSTOPこの操作を実行している間に音声ビデオプロセスにメッセージを送信し、満足している場合は、SIGCONT作業を続行できるようにプロセスを続行できます。明らかに、このプロセスがネットワークサービス(Web / FTP / Eメールなど)の一部である場合、ユーザーのQoSに影響を与える可能性があるため、プロセスを中断したくありません。

運が良ければ、同様のことができ、プロセスIDを計算する時間を節約できます。

pkill -STOP -f 'av binary name'

/ etcに保存されているA / Vソフトウェア用の設定ファイルがある場合があります。これは作業ディレクトリを定義できます。

関連情報