サーバーが表示されるのはなぜですか
total used free shared buffers cached
Mem: 12286456 11715372 571084 0 81912 6545228
-/+ buffers/cache: 5088232 7198224
Swap: 24571408 54528 24516880
Linuxでメモリを計算する方法はわかりません。 5088232は7198224が無料なので、実際には5GBのRAMを消費しているので、5088232が使用されていると思いますか?
最初の行は以下を意味します:
total
:合計(物理的)RAM(カーネルが起動時に自分自身のために永続的に予約する小さなビットを除く);これが約11.7を表示する理由です)GiB 、おそらく12 GiBではありません。used
:OSが使用中のメモリ。free
:メモリは使用されていません。total
= used
+ free
shared
/buffers
/cached
:特定の目的でのメモリ使用量を示します。これらの値はused
の値に含まれています。2行目は、調整された最初の行の値を示します。 used
minusの元の値の合計buffers+cached
とfree
plusの元の値の合計buffers+cached
、したがってそのタイトル。これらの新しい値は多くの場合、最初の行の値よりも意味があります。
最後の行(Swap:
)は、スワップ領域の使用状況(つまり、一時的にディスクに移動されたメモリの内容)に関する情報を提供します。
数字の意味を実際に理解するには、Linuxの仮想メモリ(VM)サブシステムについて少し知識が必要です。ほんの短いバージョン:Linux(ほとんどの最新のOSと同様)は、常にキャッシュを使用するために無料でRAM=を使用しようとするため、Mem: free
はほとんど常に非常に低くなります。したがって、行-/+ buffers/cache:
が表示されているのは、キャッシュを無視したときに解放されているメモリの量が表示されるためです。メモリが不足すると、キャッシュは自動的に解放されるため、実際には問題になりません。
Linuxシステムでは、-/+ buffers/cache:
行のfree
値が低くなると、メモリが実際に少なくなります。
数字の意味の詳細については、例を参照してください。質問:
free
の出力は、procps 3.3.10(2014年にリリース)で変更されたことに注意してください。レポートされる列は "total"、 "used"、 "free"、 "shared"、 "buff/cache"、 "available"、およびLinuxカーネルのスラブキャッシュをより適切に説明するために、一部の値の意味が変更されました。
動機については Debian Bug report#565518 を、詳細については free
出力の14.04から16.04への変更の意味を教えてください を参照してください。
さらに簡単で段階的な説明が必要な場合は、 http://thoughtsbyclayg.blogspot.com/2008/09/display-free-memory-on-linux-ubuntu.html を確認してください。 、彼の説明は私を大いに助けました。
Buffers/cache行は、プログラムが使用するメモリ量(最初の列)を示し、プログラムが使用できるメモリ(2列目)を示しています。これはかなり難解な数字であり、実際に実際に確認するものではありません。