CentOS 7システムを使用していますが、問題が発生しました。
を使用すると、lsmem --summary
次のようになります。
Memory block size: 128M
Total online memory: 8G
Total offline memory: 0B
を使用すると、free -h
次のようになります。
total used free shared buff/cache available
Mem: 7.6G 850M 1.7G 361M 5.1G 6.1G
Swap: 7.7G 0B 7.7G
同じシステムで合計メモリが異なるのはなぜですか?
これら2つのコマンドの違いは何ですか?
答え1
lsmem
メモリブロックとその状態を一覧表示します。これは物理メモリを反映し、メモリブロックとして計算されます。つまりシステムには128MiBがあります。これを行うには、lsmem
カーネルが提供する情報を読んでください/sys/devices/system/memory
。システムでは、カーネルは64個のメモリブロック(合計8GiB)を追跡します。
free
システムで使用可能なメモリを一覧表示します。 「合計」は、物理メモリ量からシステムによって予約されているメモリ(主にファームウェア目的で)とカーネルの実行コードを引いたものです。free
この情報をお読みください/proc/meminfo
。
出力の違いは測定値の違いとして記述できます。全ての場合において、free
総メモリはlsmem
総オンラインメモリよりも小さい。