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

Linuxのスワップメモリ​​はどのように機能しますか?

Linuxのスワップメモリ​​とは何かを理解するために、RAMの概念と、RAMが最大容量に達したときにLinuxシステムがどのように反応するかを見ていきます。

メモリのトピックでは、RAMとスワップスペースについての言及に出くわすのはかなり一般的です。このチュートリアルでは、RAMとスワップメモリ​​について説明し、Linuxのスワップメモリ​​が非常に重要である理由を理解します。

コンテキストの設定…

時々、あなたはあなたが働いている間にあなたのシステムが遅くなるのを経験することができます。これは通常、物理メモリまたはRAMが最大容量で使用されているために発生します。

RAMスペースが利用できないと、I / O待機時間が長くなり、システムの応答性が低下する可能性があるため、これは避けたいものです。これに対抗するために、システムはスワップスペースを利用します。これは、システムがシステムの物理メモリを使い果たしないようにするのに役立ちます。

RAMはどのように使用されますか?

RAMまたはランダムアクセスメモリは、デジタルデバイスの最も重要な部分です。このハードウェアは、現在プロセッサで使用されているすべてのデータが保存される場所です。

このメモリ位置は、HDDやSSDなどの他の位置と比較して、プロセッサによってはるかに高速に読み取ることができます。

RAMは揮発性であるため、現在使用されているデータのみを保存します。システムがシャットダウンされるとすぐに、システムに保存されていたすべてのメモリが失われます。そのため、HDD、SSD、光学ドライブなどのストレージデバイスを使用して、必要なデータを永続的に保存します。

しかし、これらのストレージデバイスは他の場合にも役立ちます。そのような例の1つは、RAMが最大容量に近づいていて、必要なすべてのデータを同時に保持できない場合です。

これにより、Linuxのスワップメモリ​​の概念がわかります。

Linuxのスワップメモリ​​について

Linuxのスワップメモリ​​は、システムが高負荷に直面した場合にRAMのデータオーバーフローを防ぐために使用されます。これにより、メモリ不足が原因でシステムが応答しなくなるのを防ぐことができます。また、アプリケーションまたはプロセスで「メモリ不足」エラーが発生しないようにします。

スワップメモリ​​はどのように機能しますか?

メモリに関しては、ページはメモリ空間の固定ブロックです。 RAMを占有するデータブロックは、これらのページの形式で実行されます。

RAMストレージが限界に近づいた場合、OSはこのメモリを利用するプロセスに優先順位を付ける必要があります。したがって、OSは、RAMを解放するために休止している可能性のある古いデータまたはプロセスを選択します。

このデータは、システム上のROMストレージデバイスの事前定義されたセクションに書き込まれます。このセクションは「スワップスペース」と呼ばれます。

Linuxのスワップメモリ​​のこの機能により、OSは常に十分な空きRAMスペースを維持できます。後で、これらのページは、必要に応じてRAMに保存されているページと「交換」されます。

スワップメモリ​​が重要なのはなぜですか?

RAMスペースは貴重なリソースです。すべてのプロセスに必要です。 Linuxのスワップメモリ​​により、OSは利用可能なリソースのバランスを取ることができます。これにより、システムが効率的に機能するようになります。

Linuxのスワップメモリ​​に保存されているデータは、RAMに保存されているデータよりもアクセスに時間がかかります。ただし、これによって問題が発生することはありません。

スワップメモリ​​に書き込まれたすべてのデータは、RAMが解放されるとすぐにRAMにロードされます。または、データは現在のプロセスに必要です。これにより、Linuxのスワップメモリ​​は、システムで実行中のプロセスのメモリ不足例外を防ぐための信頼できるフェイルセーフになります。

注: スワップメモリ​​は、メカニカルハードディスクドライブを使用するシステムにのみ推奨されることを覚えておくことが重要です。

ソリッドステートドライブを使用するシステムの場合、スワップメモリ​​パーティションを作成すると、長期的にはハードウェアの劣化が発生することが確認されています。これにより、SSDの寿命が短くなり、メモリ障害が発生する可能性があります。

システムのスワップメモリ​​割り当てを確認するにはどうすればよいですか?

ほとんどのシステムでは、メモリプロパティで「仮想メモリ」と呼ばれる用語に出くわすのが一般的です。仮想メモリは、LinuxのRAMとスワップメモリ​​の合計に等しいシステム上のスペースです。

最近のほとんどすべてのLinuxシステムは、メモリオーバーフローの状況を防ぐために、デフォルトでスワップパーティションを宣言しています。

したがって、Linuxユーザーは、システムの仮想メモリとスワップメモリ​​の割り当てを確認することが不可欠な場合があります。これは、要件に応じてスワップパーティションを増やすか減らすかを決定するのに役立ちます。

システムでの仮想メモリの割り当てと使用率の合計を確認するには、端末で次のコマンドを入力します。

free -h

上のスクリーンショットに示されているように、これは使用可能なRAMとスワップメモリ​​の合計を示しています。

また、現在使用されているメモリの量と、システムで使用可能な空きメモリの量も表示されます。

補足: Linuxサーバーはテスト環境であり、スワップスペースを必要としないため、明示的に0%スワップを宣言しました。

システム上のスワップパーティションのサイズを確認したいだけの場合は、コマンドラインを使用して、 / proc / swapsに保存されているスワップ構成ファイルの内容を表示できます。 catを使用する コマンド:

cat /proc/swaps

前述のように、システムにスワップスペースが構成されていませんが、このコマンドを実行して、システムに構成されているスワップスペースを表示できます。

結論

どのシステムでも、RAMスペースの重要性に近いリソースはほとんどありません。スワップメモリ​​の助けを借りて、システムはパフォーマンスを大幅に低下させることなく、利用可能なリソースを最大限に活用できます。

このメカニズムはバックグラウンドでサイレントに機能し、高負荷のセッションが発生した場合でもユーザーにスムーズなエクスペリエンスを提供します。

このチュートリアルを通じて、Linuxのスワップメモリ​​の概念とともに、RAMについて十分に理解できるようになったと思います。


Linux
  1. Linux でスワップ領域を追加する方法

  2. Linux スワップ パーティションを有効にするにはどうすればよいですか?

  3. Linux での ZFS は動作しますか?

  1. Linuxでスワップを作成する方法

  2. Linux でデバッガーはどのように機能しますか?

  3. Linux:可能なすべてのものを明示的にスワップ解除する方法は?

  1. Linuxでメモリキャッシュをクリアする方法

  2. Linuxでスワップファイルを作成する方法

  3. Linuxでスワップパーティションを管理する方法