私は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/shm
top
これらのマウントポイントの使用量を監視df
し、データをクリーンアップするか、アプリケーションがそのマウントポイントへのデータの書き込みを停止します。一部のアプリケーションはファイルを作成してすぐに削除しますが、これらのファイルはまだスペースを占めています。ls
たとえば、orで直接見ることはできませんが、次のdf
ように確認できます。
sudo lsof -n | egrep "/tmp|/dev/shm" | grep deleted
この問題を見たのは今回が20回目なので、 と のtop
バグfree
レポートを提出しましたhtop
。
答え2
問題が9 GBのメモリ使用量の場合は、topを実行して%MEMに基づいてプロセスを一覧表示します。
完全に正常です。 Linux、Windows、およびその他のほとんどのオペレーティングシステムは、可能なすべてをキャッシュするのが好きです。メモリは使用中ですが、コンテンツのロックはありません。ディスクの読み取りがスクロールする速度だけ早く解放され、他のものと交換できます。
大規模プロセス(または大規模プロセスグループ)が完了したばかりの場合にのみ、多くの空きメモリが表示されます。