Linux のバッファとキャッシュの管理:いつ、どのようにクリアするか
ユーザーは、Linux のバッファーとキャッシュのスペースが RAM のスペースを占有しすぎていると思われる場合、それらのスペースを解放したいと思うかもしれません。これは通常、あまり積極的にキャッシュしない Windows または Macintosh 環境に慣れていることが原因です。これを行うと、実際にはパフォーマンスが低下する可能性があります。ただし、RAM とディスク ストレージを同期することは良い考えです。これは、あまり技術的な観点からではありませんが、Linux キャッシュを解放することとよく考えられています。
このテクニックを使用するには、ターミナルから作業する必要があります。 Ubuntu Dash でターミナルを検索するか、Ctrl、Alt、T を同時に押します。 LXDE、Xfce4、および KDE ユーザーは、[アプリケーション] メニューまたは [ウィスカー] メニューをクリックし、[システム ツール] をポイントして、ターミナルを開くとよいでしょう。
方法 1:sync コマンドを使用する
多くの場合、ユーザーは実際に、キャッシュされた書き込みを、データを保持する基盤となる永続ストレージ デバイスに同期したいと考えています。つまり、メモリ内のファイル バッファに加えられた変更はディスク上で更新されるため、システムがその場でダウンしたとしても、すべてが最新の状態に保たれる可能性が高くなります。この概念が少し高度だと思われる場合は、RAM 内の情報がディスクまたは SSD 上の情報と同じになるということを覚えておいてください。
他の引数を指定せずに sync コマンドを呼び出すと、まさにそれが行われます。書き込みを待機している変更を含むディスク上のファイルを更新します。 「同期」と入力します コマンドラインで入力して Enter を押します。出力はまったく表示されませんが、その前にコマンドが実行された後で実行できます。
この方法は、単語を 1 つ学習するだけで済むため、非常に簡単です。他の方法とは異なり、いつでも完全に安全に実行でき、ディスクへの同期が行われる数秒を除いてパフォーマンスが低下することはありません。外部ドライブ間で大量のファイルを移動していて、すべての書き込みが完了していることを確認したい場合は、「sync」と入力して Enter キーを押して Linux バッファを解放します。他のすべての方法は、厳密にベンチマークを作成するためのものです。誰かがダーティ セクターについて話しているのを聞いたことがあるなら、これがその問題の解決策になります。 Linux はファイルをメモリ内に保持することがありますが、それらがディスク上にあることをオペレーティング システムの残りの部分に通知します。ただし、同期を実行すると、これらの変更がディスク上でも確実に更新されます。これらは RAM から削除されないため、速度を低下させることなく、アクセスする必要がある他のプログラムに引き続き提供されます。
方法 2:Linux バッファを完全に解放する
Linux はデバイスの動作を高速化するために意図的に積極的にキャッシュを行うため、方法 1 がほとんどの場合推奨されることを、先に進む前に覚えておいてください。ほとんどの場合、安全のために同期を実行して、すべてのディスク書き込みが完了したことを確認する必要があります。ハードウェア ベンチマークなどを実行しようとしている場合は、Linux キャッシュを完全に解放する方法があります。
これを行うことの危険性を十分に理解していると仮定して、free &&sync &&echo 3> /proc/sys/vm/drop_caches &&free を実行します。 ターミナル内で。非常に長いコマンドなので、ここで強調表示してコピーするとよいでしょう。ターミナルに貼り付けるには、[編集] メニューの [貼り付け] オプションを使用するか、単独での同期とは異なり、ルート プロンプトからこれを実行する必要があります。通常のユーザーとしてログインしている場合は、コマンドの前に sudo を入力します。この行により、メモリ キャッシュが実際に空になりつつあることを示す出力が表示されます。
繰り返しになりますが、これを行う唯一の理由は、ベンチマークを取得することです。これを実行すると、Linux が一生懸命キャッシュしたデータをすべて空にするため、実際のパフォーマンスの低下に気づくかもしれません。 sudo swapoff -a と入力してスワップを無効にすることもできます。 sudo swapon -a で再度有効にします。 ただし、これらにも root アクセスが必要です。これを行う必要があるのは、開発者がユーティリティまたはファイル システム プロセスの実際のハードウェア ベンチマークを取得しようとしている場合だけです。他の人は、すべてのダーティ セクタがディスクに書き込まれることを確認するために、root アクセス権を持たない通常のユーザーとして単独で同期を実行したいだけです。
著者について
ケビン・アロウズ
Kevin Arrows は、10 年以上の業界経験を持つ、経験と知識が豊富なテクノロジー スペシャリストです。彼は Microsoft Certified Technology Specialist (MCTS) 認定を取得しており、最新の技術開発について常に最新の情報を入手することに深い情熱を持っています。 Kevin は、ソフトウェア開発、サイバーセキュリティ、クラウド コンピューティングなどの分野での専門知識と専門知識を示し、テクノロジー関連の幅広いトピックについて幅広く執筆しています。テクノロジー分野への彼の貢献は同僚から広く認められ、尊敬されており、複雑な技術概念を明確かつ簡潔に説明する能力が高く評価されています。
-
Virtualenvで「コマンドが見つかりません」エラーを修正するにはどうすればよいですか?
Virtualenvは、分離されたPython環境を作成するために使用されます。このツールは、Pythonプロジェクト中に起動する必要がある必要な実行可能ファイルで構成されるフォルダーを作成します。このツールは、Pythonプロジェクトの仮想環境を作成するために必ず使用されます。ただし、ごく最近、MacOSでVirtualenvコマンドと「コマンド」を実行できないユーザーについて、多くの報告が寄せられています。 ない 見つかりました 」エラーが表示されます。 PythonのVirtualenvで「コマンドが見つかりません」エラーが発生する原因は何ですか? 複数のユーザーから多数の報告を受
-
Linux のパイプ破損エラーの修正:Apt-Get の問題のクイック ガイド
非常にまれなことではありますが、一見安定しているように見える Linux インストールにパッケージをまったくインストールできないことに気づく可能性があります。 Debian、Ubuntu、およびそれらから派生したディストリビューションは、apt-get パッケージ マネージャーに依存しています。通常、管理者スーパーユーザー アクセス権がある場合は、「apt-get install -f」と入力すると、必要に応じて追加のパッケージがインストールされます。ただし、まれではありますが、dpk-deb:error というメッセージが表示され、パイプが壊れていることを示すメッセージが表示される場合があり