Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> LinuxシステムFAQ >> linux freeコマンドでのバッファとキャッシュの違い

linux freeコマンドでのバッファとキャッシュの違い

  

[[email protected]〜] #free -m
使用されている空き共有バッファの合計cachedMem:503 368 134 056 249 - /+ buffers /cache:62 440交換: 1023 0 1023Mem:物理メモリの統計情報を示します - /+ buffers /cached:物理メ​​モリのキャッシュ統計情報を示しますSwap:ハードディスク上のスワップパーティションの使用を示します。ここでは関係ありません。システムの合計物理メモリ:255268Kb(256M)が、システムの現在使用可能なメモリbは、1行目の空きタグの16936Kbではなく、未割り当てメモリを表しています。 1行目のMem:total:物理メモリの総容量を示します。 Used:キャッシュに割り当てられた合計量(バッファとキャッシュを含む)を示しますが、実際には使用されないものもあります。 Free:未割り当てメモリ共有:共有メモリ、一般的なシステムは使用されません、ここでは説明しません。バッファー:システムによって割り当てられたが使用されていないバッファーの数。キャッシュ済み:システムによって割り当てられたが使用されていないキャッシュの数。バッファとキャッシュの違いは後で示します。 Total = used + free line 2 - /+ buffers /cached:used:つまり、最初の行で使用されます - buffers-cachedは、実際に使用されているメモリの合計量でもあります。 Free:未使用のバッファとキャッシュおよび未割り当てメモリの合計これは、システムで現在使用可能なメモリです。 Free 2 = buffers 1 + cached 1 + free 1 //free 2は2行目、buffers 1などは1行目のバッファーとキャッシュの違いです。バッファーとは、まだディスクに書き込まれていないもののことです。ディスクから「読み取られ」、後で使用するために格納されている2行目の使用済み/空き(mem)と3行目の使用済み/空き( - /+ buffers /cache)の差。両者の違いは、使用上の観点から、最初の行はOSの観点からのものです。OSの場合、buffers /cachedが使用されるため、使用可能なメモリは16936KB、使用されるメモリは238332KBです。これには、+ buffers + cachedを使用する+ Application(X、oracleなど)を使用するカーネル(OS)が含まれます3行目はアプリケーションビューを表し、buffers /cachedは使用可能なアプリケーションと同じです。 buffer /cachedはファイル読み取りのパフォーマンスを向上させるためのものであるため、アプリケーションがメモリを使用する必要がある場合、buffer /cachedはすぐにリサイクルされます。アプリケーションの観点から見ると、利用可能なメモリ=システムの空きメモリ+バッファ+キャッシュされた

2つのバッファとキャッシュの違い

バッファとはまだ書かれていないものです。ディスク:キャッシュとは、ディスクから「読み込まれ」、後で使用するために保存されたものです。

2.1キャッシュキャッシュ:キャッシュとは、容量は小さいがCPUとメインメモリの間の速度を表します。非常に高いメモリCPUの速度はメインメモリよりはるかに速いので、直接メモリからデータにアクセスするために一定時間待機し、キャッシュはCPUが使用またはリサイクルしたデータの一部を保存し、そのデータの一部を再び使用するとキャッシュからアクセスできます。直接呼び出されます。これにより、CPUの待機時間が短縮され、システムの効率が向上します。キャッシュはさらにレベル1キャッシュ(L1キャッシュ)とレベル2キャッシュ(L2キャッシュ)に分けられ、L1キャッシュはCPUの初期段階でマザーボードにハンダ付けされ、現在はCPUにも統合されています。または512KBのL2キャッシュ。

Linuxfreeコマンドのキャッシュは、上記のキャッシュとは異なりますが、キャッシュされた(キャッシュされた)データは読み取りデータを保存するため、再読み取り後にヒットした場合は必要なデータを見つけないでください。あなたがヒットしていない場合は、ハードディスクを読むことができます。データは、読み取り頻度に従って整理され、最も頻繁に読み取られるコンテンツを最も見つけやすい場所に配置し、削除されるまで読み取られなくなったコンテンツを継続的にダンプします。

2.2バッファバッファ:同期していないデバイス間または異なる優先度のデバイス間でデータを格納するためのバッファ。バッファを介して、プロセス間の相互待機を減らすことができるので、遅い装置からデータが読み取られるとき、速い装置の動作プロセスは中断しない。バッファはディスクの読み書きに従って設計されているため、分散書き込み操作が集中し、ディスクの断片化が減り、ハードディスクのシークが繰り返されるため、システムパフォーマンスが向上します。どちらもRAM内のデータです。簡単に言うと、バッファはディスクに書き込まれようとしており、キャッシュはディスクから読み取られます。

Freeコマンドで表示されるバッファとキャッシュは、すべて占有メモリです。buffer:バッファキャッシュメモリとして、ブロックデバイスの読み書き用バッファ、ストレージデバイスに近い、または直接ディスクのバッファです。地区キャッシュ:ページキャッシュのメモリとして、ファイルシステムのキャッシュはメモリのバッファであり、キャッシュの値が大きい場合、キャッシュに格納されるファイルの数は多くなります。頻繁にアクセスされるファイルをキャッシュできる場合、ディスクの読み取りIOは非常に小さくなります。


=================== ========================================================= ========================================================= ==


バッファ操作とキャッシュ操作の違いバッファ操作とキャッシュ操作は同じではありません。

バッファは、メモリとハードディスク(または他のI /Oデバイス)間のデータ交換の速度を上げるように設計されています。

キャッシュ(cache)は、CPUとメモリの間のデータ交換の速度を向上させるように設計されています。これは、1次キャッシュ、2次キャッシュ、3次キャッシュの共通レベルです。

プログラムの実行時にcpuが使用する命令と読み取りデータは、すべてメモリ指向、つまりメモリから取得されます。メモリの読み書き速度が遅いため、CPUとメモリ間のデータ交換の速度を向上させるため、CPUとメモリの間にキャッシュが追加されています。これはメモリより高速ですが、コストが高く、CPUは統合できません。速度をさらに向上させるために、インテルおよび他の会社は、第2レベルのキャッシュ、さらには第3レベルのキャッシュを追加し、それは、プログラムのローカル原理、すなわちCPUによって実行される命令およびアクセスされるデータに従って設計される。特定の集中ブロックにあることが多いので、このコンテンツをキャッシュに入れた後は、CPUがメモリにアクセスする必要がないため、アクセス速度が向上します。もちろん、キャッシュにCPUが必要とするコンテンツがない場合でも、メモリにアクセスする必要があります。

バッファはディスクの読み書きに従って設計されているため、分散書き込み操作が集中し、ディスクの断片化やハードディスクのシークの繰り返しが減り、システムのパフォーマンスが向上します。 Linuxには、バッファリングされたコンテンツを定期的に消去する(つまり、ディスクに書き込む)デーモンがあります。または、syncコマンドを使用してバッファを手動で消去することもできます。例えば:私はここにext2 Uディスクを持っています、私は中に3MのMP3を入れますが、しばらくすると(または手動で同期を入力すると)Uディスクライトはジャンプしません。デバイスがアンロードされるとバッファリングがクリアされるため、デバイスのアンロードに数秒かかることがあります。

/etc/sysctl.confのvm.swappinessの右側にある数字を変更して、次回電源を入れたときにスワップ使用ポリシーを調整します。数字の範囲は0から100です。数字が大きいほど、スワップを使用する可能性が高くなります。デフォルトは60です、あなたはそれを試すことができます。 - どちらもRAM内のデータです。

一言で言えば、バッファはディスクに書き込まれようとしていて、キャッシュはディスクから読み込まれます。

バッファはさまざまなプロセスによって割り当てられ、入力キューなどの領域で使用されます。簡単な例は、プロセスが複数のフィールドを読み込む必要があることです。すべてのフィールドが読み込まれる前に、プロセスは前に読み込まれたフィールドをバッファに保存します。

キャッシュは多くの場合ディスクI /O要求で使用されます。ファイルにアクセスするプロセスが複数ある場合は、次のアクセスを容易にするためにファイルがキャッシュに入れられるため、システムが向上します。パフォーマンス

簡単に言うと、バッファはチャンネル、キャッシュはコンテナ、そしてキャッシュは「キャッシュ」(キャッシュ)に変換できます。

Copyright © Windowsの知識 All Rights Reserved