web-dev-qa-db-ja.com

freeコマンドで使用可能なv / s空きメモリとは何ですか?

Linuxホストで実行したfreeコマンドの出力は次のとおりです。

free
              total        used        free      shared  buff/cache   available
Mem:      263846320    47746620     3290072     1140808   212809628   214382420
Swap:             0           0           0

この利用可能な部分が何を指定しているのかわかりません。空きメモリは非常に少なく表示されています。つまり、合計メモリがかなり高く、使用メモリが約18.09%であるにもかかわらず、約1.24%です。

free -h
              total        used        free      shared  buff/cache   available
Mem:           251G         45G        3.1G        1.1G        202G        204G
Swap:            0B          0B          0B

空きメモリが非常に少ないため、より多くのアプリケーションを起動できないことを意味しますか。使用されるメモリは18%のみです。そのため、コマンドが上に表示されているように、メモリを1.24%ではなく82%に解放すべきではありません。

私は混乱しています。誰でも助けることができますか?

17
Nishant Lakhara

最新のオペレーティングシステムは、メモリの空き容量をできるだけ少なくするために邪魔になりません。空きメモリは、空きメモリから使用中メモリに移行する必要があるため、実際には使用が困難です。すでに使用されているメモリ、つまり使用可能であるが空きではないメモリは、別の用途に簡単に切り替えることができます。

これはすべて正常です。空きメモリが無駄になり、システムが高速化されません。

「しかし、今すぐメモリを解放して後で使用できるようにしたい」と考えている場合は、これが意味をなさないことを理解してください。後でメモリを保存することはできません。今日2GBを使用する4GBのシステムは、明日6GBを使用できません。今すぐandの両方でメモリを使用できます。ここでトレードオフはありません-メモリの使用は無料です。メモリを使用する唯一の方法は、メモリを無駄にすることです。なぜシステムでより多くのメモリを無駄にしたいのですか?

23
David Schwartz