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

Linux で合計 RAM サイズとメモリ使用量を確認する方法

Red Hat Enterprise Linux (RHEL)、CentOS、Ubuntu などの Linux オペレーティング システムには、インストールされている RAM メモリの合計サイズを特定し、空きメモリと使用済みメモリの量を確認するために使用できるコマンドが多数あります。

メモリはコンピュータ、特にサーバーにとって重要なリソースの 1 つです。メモリが十分にあると、アプリケーションがディスクにスワップする前に操作を実行するために必要なメモリを割り当てることができるためです。これははるかに遅く、応答時間を妨げます。

リモート システムに頻繁に SSH または Telnet を使用する Linux ユーザーにとっては、GUI が常に利用できるとは限らないため、このチュートリアルでは、コマンド ライン オプションに焦点を当てて、Linux のメモリ使用量とステータス (RAM とスワップを含む) を調べます。

<強い>1.無料コマンド

free コマンドは、システム内の空きメモリと使用済みの物理メモリとスワップ メモリの合計量、およびカーネルが使用するバッファとキャッシュを表示します。情報は、/proc/meminfo を解析することによって収集されます。表示される情報は次のとおりです:

  • total:搭載メモリの合計 (/proc/meminfo の MemTotal と SwapTotal)
  • used:使用済みメモリ (合計 – フリー – バッファ – キャッシュとして計算)
  • free:未使用のメモリ (/proc/meminfo の MemFree と SwapFree)
  • 共有:tmpfs によって (ほとんど) 使用されるメモリ (/proc/meminfo の Shmem、カーネル 2.6.32 で利用可能、利用できない場合はゼロとして表示)
  • buffers:カーネル バッファが使用するメモリ (/proc/meminfo 内のバッファ)
  • キャッシュ:ページ キャッシュとスラブで使用されるメモリ (/proc/meminfo のキャッシュとスラブ)
  • buff/cache:バッファとキャッシュの合計
  • available:スワップなしで新しいアプリケーションを開始するために使用できるメモリ量の見積もり。キャッシュ フィールドまたはフリー フィールドによって提供されるデータとは異なり、このフィールドはページ キャッシュを考慮に入れるほか、アイテムが使用されているためにすべての再利用可能なメモリ スラブが再利用されるわけではありません (/proc/meminfo で利用可能な MemAvailable、カーネル 3.14 で利用可能、カーネル 2.6.27+、それ以外は無料と同じ)

出力例:

              total        used        free      shared  buff/cache   available
Mem:       24512912      253112    23761468       41484      498332    23873560
Swap:      12387324           0    12387324
ヒント:デフォルトのオプションでは、メモリが KB (キロバイト) で表示されます。 MB (メガバイト) で表示するには、「free -m」を使用します。

<強い>2. vmstat コマンド

vmstat は、プロセス、メモリ、ページング、ブロック IO、トラップ、ディスク、および CPU アクティビティに関する情報を報告します。デフォルトでは、次の情報が表示されます:

手続き
r:実行可能なプロセス (実行中または実行待ち) の数。
b:中断不可能なスリープ中のプロセスの数。

記憶
swpd:使用される仮想メモリの量。
free:アイドル メモリの量。
buff:バッファとして使用されるメモリの量。
cache:キャッシュとして使用されるメモリの量。
inact:非アクティブなメモリの量。 (-a オプション)
active:アクティブなメモリの量。 (-オプション)

スワップ
si:ディスク (/s) からスワップインされたメモリの量。
so:ディスクにスワップされたメモリの量 (/s)。

IO
bi:ブロック デバイスから受信したブロック (ブロック/秒)。
bo:ブロック デバイスに送信されたブロック (ブロック/秒)。

システム
in:クロックを含む 1 秒あたりの割り込み数。
cs:1 秒あたりのコンテキスト スイッチの数。

CPU
これらは、合計 CPU 時間のパーセンテージです。
us:カーネル以外のコードの実行に費やされた時間。 (ナイスタイムを含む利用時間)
sy:カーネル コードの実行に費やされた時間。 (システム時刻)
id:アイドル時間。 Linux 2.5.41 より前では、これには IO 待機時間が含まれます。
wa:IO の待機に費やされた時間。 Linux 2.5.41 より前では、idle に含まれています。
st:仮想マシンから盗まれた時間。 Linux 2.6.11 より前、不明。

出力例:

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 23760168  62096 438828    0    0     0     0    4    4  0  0 100  0  0

<強い>3.トップコマンド

top コマンドは主に、実行中のシステム、特に Linux カーネルによって現在管理されている Linux プロセスまたはスレッドの動的なリアルタイム ビューを表示するために使用されます。ただし、RAM メモリ、スワップの空きサイズ、使用済みサイズなど、システムの概要情報も表示されます。

トップ プログラムを終了するには、Ctrl を押します + c 、または単に q .
出力例:

top - 09:55:34 up 20:23,  1 user,  load average: 0.00, 0.01, 0.05
Tasks: 188 total,   2 running, 186 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni, 99.9 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem : 24512912 total, 23758072 free,   252420 used,   502420 buff/cache
KiB Swap: 12387324 total, 12387324 free,        0 used. 23873892 avail Mem

<強い>4. /proc/meminfo

上記のコマンドからわかるように、ほとんどのユーティリティは /proc/meminfo に依存して、システム内の空きメモリと使用済みメモリおよびスワップ スペースの量を報告します。 /proc/meminfo は、カーネルとシステムによるメモリ使用量に関する動的統計を含む仮想ファイルです。

/proc/meminfo の内容を表示するには、次のコマンドのいずれか、およびその他の任意のコマンドを使用します:

cat /proc/meminfo
more /proc/meminfo
less /proc/meminfo

<強い>5.トップコマンド

atop は、top に似た Linux システムの負荷を表示するための対話型モニターです。これは、CPU、メモリ、ディスク、ネットワークなど、システム レベルで最も重要なハードウェア リソース (パフォーマンスの観点から) の占有を示します。 atop はほとんどの Linux ディストリビューションにデフォルトでインストールされていないため、使用したい場合は手動で top をインストールする必要があります。

<強い>6. htop コマンド

htop は、Unix システム用のインタラクティブなプロセス ビューアーで、top に似ていますが、より詳細な情報を提供します。これはテキスト モード アプリケーション (コンソールまたは X 端末用) であり、ncurses が必要です。 htop はほとんどの Linux ディストリビューションにデフォルトでインストールされていないため、使用したい場合は htop を手動でインストールする必要があります。

物理 RAM 情報

システムにインストールされている物理 RAM DIMM モジュールについて知りたい場合は、コンピューターの DMI (または SMBIOS) テーブルの内容を人間が読める形式でダンプするためのツールである dmidecode (DMI テーブル デコーダー) を使用してください。この表には、システムのハードウェア コンポーネントの説明と、シリアル番号や BIOS リビジョンなどのその他の有用な情報が含まれています。

dmidecode を使用して物理 RAM モジュールを表示するには、次のいずれかのコマンドを使用します:

$sudo dmidecode --type memory
$ sudo dmidecode -t 17

出力例:

# dmidecode 3.0
Scanning /dev/mem for entry point.
SMBIOS 2.6 present.

Handle 0x001C, DMI type 17, 28 bytes
Memory Device
        Array Handle: 0x001A
        Error Information Handle: Not Provided
        Total Width: 72 bits
        Data Width: 64 bits
        Size: 4096 MB
        Form Factor: DIMM
        Set: None
        Locator: CPU0
        Bank Locator: DIMM01
        Type: Other
        Type Detail: Other
        Speed: 1066 MHz
        Manufacturer: Samsung
        Serial Number: 88XX8X88
        Asset Tag: AssetTagNum01
        Part Number: M888MXXXXMM8-MM8
        Rank: Unknown

Linux
  1. Linuxのメモリ使用量

  2. LinuxコマンドラインでRAMサイズをGbで確認する方法

  3. Linux ベースのサーバーでメモリ使用量を確認する方法

  1. Linuxpmapコマンドでプロセスのメモリ使用量を確認する方法

  2. Linuxでjvmに割り当てられたヒープサイズを確認する方法

  3. Linux でメモリ使用量はどのように報告されますか?

  1. sar、ps、および free を使用して Linux でメモリ使用量を計算する方法

  2. Linux でプロセスのヒープ サイズを確認する方法

  3. Linuxでユーザーのメモリ使用量を見つける方法