GNU/Linux >> Linux の 問題 >  >> Linux

Gnome、nautilus によるファイルの USB へのコピーが 100% またはその付近で停止する

そのようなことが起こる理由は、プログラムが「このデータを書き込んでください」と言い、Linux カーネルがそれをメモリ バッファにコピーし、ディスクに移動するためにキューに入れられ、「OK、完了」と言うからです。したがって、プログラムはすべてをコピーしたと考えます。その後、プログラムはファイルを閉じますが、カーネルは突然、バッファがディスクにプッシュされるまでファイルを待機させます。

そのため、残念ながら、プログラムはバッファをフラッシュするのにかかる時間を知らないため、知ることができません。

パワーユーザー向けのトリックを試してみたい場合は、カーネル パラメータ vm.dirty_bytes を設定することで、Linux が使用するバッファのサイズを減らすことができます。 15000000 のようなものに (15MB)。これは、アプリケーションが実際の進行より先に 15MB を超えて取得できないことを意味します。 (カーネルパラメータは sudo sysctl vm.dirty_bytes=15000000 でオンザフライで変更できます ただし、再起動後もそれらを維持するには、/etc/sysctl.conf のような構成ファイルを変更する必要があります これはディストリビューションに固有のものである可能性があります。)

副作用として、この設定ではコンピューターのデータ書き込みスループットが低下する可能性がありますが、全体として、プログラムが大量のデータを書き込んでいる間、プログラムが長時間実行されていることと、プログラムはその仕事を終えたように見えますが、カーネルが実際の作業を行うため、システムはひどく遅れています。設定 dirty_bytes 適度に小さい値に設定すると、空きメモリが少なくなり、突然大量のデータを書き込むプログラムを実行したときに、システムが応答しなくなるのを防ぐのにも役立ちます。

ただし、あまり小さく設定しないでください。カーネルがバッファを通常のハード ドライブに 1/4 秒以下でフラッシュできるという概算として、15MB を使用します。システムが「ラグ」を感じるのを防ぎます。


Linux
  1. Ansibleガイド:Ansibleを使用してファイルを管理する

  2. Linuxでファイルとディレクトリをコピーする

  3. Linux – Gnomeターミナルが起動しない?

  1. 別のディレクトリにある最初のNファイルをコピーしますか?

  2. Linux –ディスク/ディスクのコピーを遅くしますか?

  3. SCPとRsyncでファイルをコピーする

  1. プログラムによってアクセスされるファイルを一覧表示しますか?

  2. 大量のファイルをUSBフラッシュドライブにコピーできないのはなぜですか?

  3. ファイルを検索してコピーする