無料
Unix/Linuxプラットフォームのシステム管理者が使用する一般的なコマンドです。これは、人間が読める形式でメモリ使用量を把握できる強力なツールです。
man
このコマンドのページには、 free
と記載されています 物理スペースとスワップスペース、およびカーネルが使用するバッファとキャッシュを含む、システムの空きメモリと使用メモリの合計量を表示します。情報は、 / proc / meminfo
を解析することによって収集されます 。
他のコマンドと同様に、 free
意思決定のためにその出力を意味のある正確なものにするために、時間をかけて改訂を行ってきました。 Red Hat Enterprise Linux(RHEL)6では、出力はRHEL 7および8の出力とは多少異なります。ただし、これらすべてのバージョンには、変更されない主要なパラメーターがあります。
RHEL 6では、 free -h
と入力します (私は -h
を使用しました 人間が読める形式のオプション)は、次のような出力を示します。
[root@srv ~]# free -h
total used free shared buffers cached
Mem: 94G 44G 49G 161M 993M 1.3G
-/+ buffers/cache: 42G 52G
Swap: 15G 0B 15G
(図1)
RHEL 7/8は、以下のような情報を表示します。
[root@server1 ~]# free -h
total used free shared buff/cache available
Mem: 15G 751M 1.2G 272M 13G 14G
Swap: 0B 0B 0B
(図2)
RHEL8の出力は次のようになります。
[root@tiger ~]# free -h
total used free shared buff/cache available
Mem: 819Mi 164Mi 146Mi 25Mi 509Mi 491Mi
Swap: 0B 0B 0B
(Figure 3)
上記の出力を読みやすくするために、コマンドにはさまざまなオプションがあります。無料
-b
、 -k
、 -m
、 -g
:メモリの量をバイト、キロバイト、メガバイトで表示します。 free -h
を使用することもできます 人間が読める形式の出力で出力を表示します。 free --help
を実行してください オプションの詳細については、
上記のさまざまなリリースで表示されるさまざまな列で、合計、使用済み、空き、共有メモリを特定しようとしています。また、キャッシュとバッファに保持されているメモリも表示しようとします。
ただし、ほとんどのコマンドと同様に、ハウスキーピングやトラブルシューティングを行うときにシステム管理者が関心を持つ可能性のある関連列を確認します。問題については以下で説明します。
Red Hat Enterprise Linux 6
RHEL 6の場合、焦点は-/+バッファ/キャッシュにある必要があります 列。
上記の図1では、合計は94 GB、使用量は44 GB、空き容量は49GBです。このシステムは非常にビジーですが、使用されているRAMは高いようです。これはそれほど心配する必要はありませんが、管理者は-/+バッファ/キャッシュを確認する必要があります 桁。 -/+バッファ/キャッシュ 使用済みメモリを42GB、空きメモリを52GBと表示します。これは、実際に使用されるRAMの量が44 GBではなく、42GBであることを意味します。値44GBには、キャッシュも含まれます。 使用済みを見るだけ キャッシュを考慮しない値は、システムのパフォーマンスの解釈に影響します。
バッファとキャッシュされた列について、以下で説明します。
- バッファ:カーネルバッファによって使用されるメモリ
- cached:「ページキャッシュ」が占めるメモリスペース。
キャッシュページは、カーネルがディスクに対して読み取り/書き込み操作を実行するときにRAMにコピーされるデータ/ファイルに他なりません。これらのページをキャッシュしておく理由は、I/Oパフォーマンスのためです。したがって、カーネルはこれらのファイルをRAMに保持し、不要な場合、またはRAMに使用可能な空き領域がない場合に提供される新しいプロセス/コマンドによってメモリ領域が要求されるたびに、それらを解放します。
Red Hat Enterprise Linux 7/8
RHEL 7/8では、利用可能に焦点を当てる必要があります 桁。 RHEL 7/8では、-/+バッファ/キャッシュ 取り外され、利用可能に置き換えられました 桁。 バッファ およびキャッシュ バフ/キャッシュに結合されました 上で説明したのと同じ意味を持ちます。 利用可能 列は、スワップせずに新しいアプリケーションを起動するために使用できるメモリの量を見積もります。
上記の図2では、インストールされているRAMの合計は15 GB、使用されているのは751 MB、空き容量は1.2GBです。 RHEL 6で行ったのと同じ推論を使用して、使用済みを確認するだけです。 値は間違った結論につながる可能性があります。 使用済み 列は、キャッシュ列も念頭に置いて理解する必要があります。 利用可能には多くのキャッシュがあります 14 GBの値は非常に高く、RAMの合計とほぼ同じです。
システム管理者はいつ心配し始めるべきですか?
十分なメモリを備えた正常なシステムは、しばらく実行した後、次の予想される無害な動作を示します。
- 空きメモリが0に近いか、かなり小さい
- 使用メモリは合計に近い
- 使用可能なメモリ(または空き-/ +バッファ/キャッシュ)は、合計メモリに比べて大きくなります
- スワップ使用値は変更されません
ただし、システム管理者は、真のメモリ不足の状況を構成する兆候がある場合は心配する必要があります。以下はそれらの兆候の一部です:
- 使用可能なメモリ(または空き-/ +バッファ/キャッシュ)がゼロに近いか、非常に小さい
- システムが使用する空きメモリページがないため、スワップ使用値が増加または変動し始めるため、スワップディスクの使用に頼る必要があります
-
grep -i kill / var / log / messages *
で確認すると、ログにOutOfMemory-killerメッセージがあります。 またはdmesg| grep oom-killer
まとめ
無料コード> コマンドは、サーバーで何が起こっているかについてシステム管理者に多くのことを伝えることができる非常に便利なユーティリティです。
free
のバージョン間の違いを認識することを学ぶ 出力のより正確な解釈に役立ちます。
[Red Hat Enterprise Linuxを試してみませんか?今すぐ無料でダウンロードしてください。 ]