使用可能なメモリは使用量に応じて減少し、アプリケーションを閉じたり再起動しても復元できません。 X

使用可能なメモリは使用量に応じて減少し、アプリケーションを閉じたり再起動しても復元できません。 X

カーネルはキャッシュにメモリを使用しますが、要求に応じてユーザーアプリケーションにメモリを使用できることを知っています。メモリが「欠けている」と主張するときは、出力で「利用可能な」メモリに言及し、freeこれを考慮します。

起動したプロセスをすべて終了したら、使用可能なメモリにある程度戻る必要があるようです。しかし、それは本当ではないようです。

free -k以下は、ミニマリストWMといくつかのシェルなどを使用してXにログインした直後の出力です。

再起動後:

              total        used        free      shared  buff/cache   available
Mem:        8144232      373664     6945832        1644      824736     7514692

availableサイズは7.5MiBで、すべてが正常です。

数週間コンピュータを使用した後、メモリが大幅に減少availableし、起動したすべてのアプリケーションをすべてシャットダウンしましたが、メモリはまだ起動時よりも低くなりました。見つけることができるすべてのアプリケーションを終了すると、最大約5GiBの「利用可能な」スペースを解放できます。

その後、ディスプレイマネージャを再起動して再度ログインすると、次のような結果が表示されます。

              total        used        free      shared  buff/cache   available
Mem:        8144344      577280     5547936      982600     2019128     6279136
Swap:             0           0           0

これにより、単にアプリを終了するよりも多くのメモリが確保されますが、すべてを再度開く必要があります。また、新しくリリースされた7.5GiBの近くにも到達しません。私は共有メモリ使用量がこれの大部分を占めることに気づきましたが、すべてのユーザープロセスを終了したので、なぜそれがそれほど高いのかわかりません。

この動作の原因が何であるか、コンピュータを再起動したり、Xを再起動する必要がない回避策があるかどうかを知りたいです。

答え1

free は「shared」に対して高い値を表示し、交換は無効になります。 / tmpがtmpfsとしてマウントされると、その中にあるすべてのファイルは実際に共有メモリに保存され、スワップなしでシステムはそのファイルをスワップして空きメモリを解放できません。

df/ tmpでどのくらいのスペースが使用されているかを確認してください。これは、アプリケーションメモリと総システムメモリの違いを説明できます。

関連情報