検索
ホームページシステムチュートリアルLinuxLinux のメモリが食われている

Linux のメモリが食われている

Feb 20, 2024 am 10:48 AM
linuxLinuxチュートリアルレッドハットLinuxシステムLinuxコマンドLinux 認定レッドハットリナックスLinuxビデオ

これは、メモリ管理における Windows と Linux の違いです。一見すると、Linux システムはメモリを消費します (Linux が RAM を食べました)が、実際には、これがメモリ管理の特徴でもあります。

Linux のメモリが食われている

無料コマンド紹介

以下は、free コマンドを使用して研究室ファイル サーバーのメモリを表示した結果です。-m オプションは、単位として MB を使用することを示します:

Linux のメモリが食われている

出力の 2 行目は、システム メモリの使用量を示します:

Mem: 合計 (合計) = 3920MB、

使用済み (中古) = 1938MB、

無料 (無料) = 1982MB、

shared (共有メモリ) = 0MB、

バッファ = 497MB、

キャッシュ = 1235MB

注: 最初の 4 つの項目は比較的理解しやすいです。バッファとキャッシュを翻訳するのに適切な言葉はありません。これらの違いは次のとおりです:

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

つまり、バッファはディスクに出力されるデータを格納するために使用され、キャッシュはディスクから読み取られ、将来の使用のためにメモリに格納されるデータです。これらは IO パフォーマンスを提供するために導入されました。

出力の 3 行目は、2 行目 -/buffers/cache:

に基づいて何が取得されるかを示します。

– 使用されるバッファ/キャッシュ = 使用されるメモリ – バッファ – キャッシュ = 1938MB – 497MB – 1235MB = 205MB

バッファ/キャッシュの空き数 = キャッシュされたメモリの空きバッファ数 = 1982MB 497MB 1235MB = 3714MB

出力の 3 行目は、スワップ パーティションの使用を示します:

スワップ:合計 = 4095MB

使用済み(中古)= 0MB

無料(無料)= 4095MB

システムには現在十分なメモリがあるため、スワップ パーティションは使用されません。

上記の出力結果の 3 行目は、理解するのがさらに難しいかもしれません。なぜこのデータ行をユーザーに表示する必要があるのですか? メモリ使用量からシステム バッファ/キャッシュ メモリを引いたものは何を意味しますか? システムの空きメモリとバッファ/ キャッシュされたメモリとは何を意味しますか?

記憶の分類

私たちはメモリを 3 つのカテゴリに分類し、ユーザーとオペレーティング システムの観点からその用途に異なる名前を付けています。

上の表の内容は、free コマンドの「バッファ/キャッシュ」のメモリを表しています。このメモリはオペレーティング システムの観点からは実際に使用されていますが、ユーザーが使用したい場合は、このメモリをすぐに再利用できます。ユーザー プログラムによって使用されるため、このメモリはユーザーの観点からはアイドルとして分類される必要があります。

free コマンドで出力された結果にもう一度戻ります。3 行目の結果出力は理解できるはずです。この行の数値は、ユーザーの観点から見たシステム メモリの使用量を表しています。したがって、top または free コマンドを使用してシステムにどれだけのメモリが残っているかを確認する場合は、実際に空きメモリをバッファ/キャッシュ メモリに追加する必要があります。これが、システムの実際の空きメモリです。

バッファ/キャッシュされた特典
Linux のメモリ管理は、多くの慎重な設計を行っており、dentry のキャッシュ (ファイル パス名から i ノードへの変換を高速化するために VFS で使用) に加えて、バッファ キャッシュとページ キャッシュという 2 つの主要なキャッシュ メソッドも採用しています。目的は、ディスク IO パフォーマンスを向上させるためです。低速なブロックデバイスから読み取られたデータは一時的にメモリに保持されるため、その時点でデータが不要になった場合でも、次回アプリケーションがデータにアクセスするときにメモリから直接読み込むことができるため、低速を回避できます。したがって、システム全体のパフォーマンスが向上します。

Linux は、これらの空きメモリを最大限に活用します。設計上の考え方は、メモリに空きがある場合は、より多くのデータをキャッシュするためにメモリを使用する方が良いということです。次回プログラムがデータに再びアクセスするとき、速度は速くなります。プログラムがメモリを使用する必要があり、システム内のメモリが不足している場合、スワップ パーティションを使用する代わりに、キャッシュの一部がすぐにリサイクルされ、ユーザー プログラムが使用できるように残されます。

したがって、バッファ/キャッシュは実際には有益であり、無害であることがわかります。実際の欠点は、Linux がメモリを消費するという錯覚をユーザーに与える可能性があります!

実際には、そうではありません。Linux がメモリを使い果たしているわけではありません。スワップ パーティションが使用されておらず、メモリが不足している限り、Linux は大量のデータをキャッシュするため、幸運だと感じるはずです。次回も利用できるかもしれません。

実験による証明

次の実験は、上記の結論を検証するために使用されます:

大きなファイルを次々に読み取り、2 回読み取る方法を比較します。

1. まず 1G の大きなファイルを生成します

Linux のメモリが食われている

2. キャッシュをクリアする

Linux のメモリが食われている

3. このファイルを読み取って、所要時間をテストします

Linux のメモリが食われている

4. ファイルを再度読み取り、所要時間をテストします。

Linux のメモリが食われている

上記からわかるように、この 1G ファイルの最初の読み取りには約 18 秒かかりましたが、2 回目の読み取りにはわずか 0.3 秒しかかかりませんでした。これは完全に 60 倍の改善です!

以上がLinux のメモリが食われているの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はLinux就该这么学で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
インターネットはLinuxで実行されますか?インターネットはLinuxで実行されますか?Apr 14, 2025 am 12:03 AM

インターネットは単一のオペレーティングシステムに依存していませんが、Linuxはその上で重要な役割を果たしています。 Linuxは、サーバーやネットワークデバイスで広く使用されており、安定性、セキュリティ、スケーラビリティに人気があります。

Linux操作とは何ですか?Linux操作とは何ですか?Apr 13, 2025 am 12:20 AM

Linuxオペレーティングシステムのコアは、コマンドラインインターフェイスで、コマンドラインを介してさまざまな操作を実行できます。 1.ファイルおよびディレクトリ操作は、ファイルとディレクトリを管理するために、LS、CD、MKDIR、RM、その他のコマンドを使用します。 2。ユーザーおよび許可管理は、useradd、passwd、chmod、その他のコマンドを介してシステムのセキュリティとリソースの割り当てを保証します。 3。プロセス管理は、PS、Kill、およびその他のコマンドを使用して、システムプロセスを監視および制御します。 4。ネットワーク操作には、Ping、Ifconfig、SSH、およびネットワーク接続を構成および管理するためのその他のコマンドが含まれます。 5.システムの監視とメンテナンスは、TOP、DF、DUなどのコマンドを使用して、システムの動作ステータスとリソースの使用を理解します。

Linuxエイリアスを使用したカスタムコマンドショートカットで生産性を高めますLinuxエイリアスを使用したカスタムコマンドショートカットで生産性を高めますApr 12, 2025 am 11:43 AM

導入 Linuxは、柔軟性と効率性により、開発者、システム管理者、およびパワーユーザーが好む強力なオペレーティングシステムです。しかし、頻繁に長く複雑なコマンドを使用することは退屈でERです

Linuxは実際に何に適していますか?Linuxは実際に何に適していますか?Apr 12, 2025 am 12:20 AM

Linuxは、サーバー、開発環境、埋め込みシステムに適しています。 1.サーバーオペレーティングシステムとして、Linuxは安定して効率的であり、多くの場合、高電流アプリケーションの展開に使用されます。 2。開発環境として、Linuxは効率的なコマンドラインツールとパッケージ管理システムを提供して、開発効率を向上させます。 3.埋め込まれたシステムでは、Linuxは軽量でカスタマイズ可能で、リソースが限られている環境に適しています。

Linuxで倫理的ハッキングを習得するための必須ツールとフレームワークLinuxで倫理的ハッキングを習得するための必須ツールとフレームワークApr 11, 2025 am 09:11 AM

はじめに:Linuxベースの倫理的ハッキングでデジタルフロンティアを保護します ますます相互に接続されている世界では、サイバーセキュリティが最重要です。 倫理的なハッキングと浸透テストは、脆弱性を積極的に特定し、緩和するために不可欠です

Linuxの基本を学ぶ方法は?Linuxの基本を学ぶ方法は?Apr 10, 2025 am 09:32 AM

基本的なLinux学習の方法は次のとおりです。1。ファイルシステムとコマンドラインインターフェイス、2。LS、CD、MKDIR、3。ファイルの作成と編集などのファイル操作を学習するマスター基本コマンド、4。

Linuxの最も使用は何ですか?Linuxの最も使用は何ですか?Apr 09, 2025 am 12:02 AM

Linuxは、サーバー、組み込みシステム、デスクトップ環境で広く使用されています。 1)サーバーフィールドでは、Linuxは、その安定性とセキュリティにより、Webサイト、データベース、アプリケーションをホストするための理想的な選択肢となっています。 2)埋め込みシステムでは、Linuxは高いカスタマイズと効率で人気があります。 3)デスクトップ環境では、Linuxはさまざまなユーザーのニーズを満たすために、さまざまなデスクトップ環境を提供します。

Linuxの欠点は何ですか?Linuxの欠点は何ですか?Apr 08, 2025 am 12:01 AM

Linuxの欠点には、ユーザーエクスペリエンス、ソフトウェア互換性、ハードウェアサポート、学習曲線が含まれます。 1.ユーザーエクスペリエンスは、WindowsやMacOほどフレンドリーではなく、コマンドラインインターフェイスに依存しています。 2。ソフトウェアの互換性は他のシステムほど良くなく、多くの商用ソフトウェアのネイティブバージョンがありません。 3.ハードウェアサポートはWindowsほど包括的ではなく、ドライバーは手動でコンパイルされる場合があります。 4.学習曲線は急で、コマンドラインの操作をマスターするには時間と忍耐が必要です。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン