メモリ使用量が非常に高く、何も実行されません。

メモリ使用量が非常に高く、何も実行されません。

私はGNOME 3.38 X11がインストールされているArch Linuxを実行しています(コンピュータをしばらく使用してすべてを終了した後)、アイドル状態の約8〜9 GBのRAMを使用する問題に直面しました。

私は知っていますリンドシャットミラムfree -m、以下が印刷されるのでこれが問題だとは思わない。

               total        used        free      shared  buff/cache   available
Mem:           62282        9059       29502         162       23720       52368
Swap:           8191           0        8191

これは、何も実行していないときに実際に多くのメモリを使用していることを示しています。 16GBを使用していた頃にもこの問題によりメモリ不足現象が頻繁に発生しましたが、メモリ使用量が増えるとキャッシュが減るため、一種のキャッシュではないようです。

奇妙なことに、topメモリ使用量は維持すると主張する量に加算されません。ここに私が得た結果を貼り付けました。。何かが漏れているのは間違いないとしばらく考えてみましたが、何か分かりませんね。

編集:追加の出力。これは再起動直後に測定されたため、代表性はありません。同じ状況が発生した場合は、もう一度実行して投稿します。

$ mount | grep tmpfs
dev on /dev type devtmpfs (rw,nosuid,relatime,size=31848276k,nr_inodes=7962069,mode=755,inode64)
run on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755,inode64)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,inode64)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,size=4096k,nr_inodes=1024,mode=755,inode64)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,size=31888716k,nr_inodes=409600,inode64)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=6377740k,nr_inodes=1594435,mode=700,uid=1000,gid=985,inode64)
$ df -h
Filesystem      Size  Used Avail Use% Mounted on
dev              31G     0   31G   0% /dev
run              31G  1.7M   31G   1% /run
/dev/nvme0n1p3  450G  208G  219G  49% /
tmpfs            31G  737M   30G   3% /dev/shm
tmpfs           4.0M     0  4.0M   0% /sys/fs/cgroup
tmpfs            31G   19M   31G   1% /tmp
tmpfs           6.1G  136K  6.1G   1% /run/user/1000

答え1

提供された情報によると、ファイルシステムtmpfsはマウントされており、他の同様のユーティリティでは表示されません。/tmp/dev/shmtop

これらのマウントポイントの使用量を監視dfし、データをクリーンアップするか、アプリケーションがそのマウントポイントへのデータの書き込みを停止します。一部のアプリケーションはファイルを作成してすぐに削除しますが、これらのファイルはまだスペースを占めています。lsたとえば、orで直接見ることはできませんが、次のdfように確認できます。

sudo lsof -n | egrep "/tmp|/dev/shm" | grep deleted

この問題を見たのは今回が20回目なので、 と のtopバグfreeレポートを提出しましたhtop

https://gitlab.com/procps-ng/procps/-/issues/196

https://github.com/htop-dev/htop/issues/556

答え2

問題が9 GBのメモリ使用量の場合は、topを実行して%MEMに基づいてプロセスを一覧表示します。

完全に正常です。 Linux、Windows、およびその他のほとんどのオペレーティングシステムは、可能なすべてをキャッシュするのが好きです。メモリは使用中ですが、コンテンツのロックはありません。ディスクの読み取りがスクロールする速度だけ早く解放され、他のものと交換できます。
大規模プロセス(または大規模プロセスグループ)が完了したばかりの場合にのみ、多くの空きメモリが表示されます。

関連情報