在我的笔记本上安装 Arch Linux 后,我遇到了一个奇怪的问题:打开 Firefox 或任何其他浏览器(或任何具有高 RAM 使用率的应用程序)RAM (12 GB) 很快就会被填满,即使在关闭所有内容之后也是如此。系统冻结。
我在另一个具有 4GB RAM 的系统上安装了配置基本相同的 Arch Linux,一切正常。
使用
free -mh
在一切冻结之前不久,关闭所有应用程序后,我得到以下输出
total used free shared buff/cache available
Mem: 11Gi 402Mi 1.1Gi 9.5Gi 9.9Gi 1.2Gi
Swap: 4.0Gi 787Mi 3.2Gi
据我了解,Linux 应该在需要时释放缓存中的内存,但这种情况永远不会发生。此外,我无法手动清理缓存
echo 3 > /proc/sys/vm/drop_caches
我在互联网上搜索可能的解决方案,但似乎没有任何效果。我尝试像其他帖子中讨论的那样弄乱 swappines 和 min_free_kbytes ,但这对我不起作用。
对我来说奇怪的是共享的专栏,因为在我看来它非常高。在我的另一台电脑上,共享列中的内存大小可能是缓存/缓冲区的一半,大多数时候甚至更低。
我猜有什么东西填满了我的记忆,但我不知道是什么。根据我检查的其他一些帖子df -h
,它给出了以下输出:
Filesystem Size Used Avail Use% Mounted on
dev 5.8G 0 5.8G 0% /dev
run 5.8G 976K 5.8G 1% /run
/dev/nvme0n1p2 36G 12G 23G 33% /
tmpfs 5.8G 0K 5.8G 0% /dev/shm
tmpfs 5.8G 4.0K 5.8G 1% /tmp
/dev/nvme0n1p3 198G 2.4G 185G 2% /home
/dev/nvme0n1p1 510M 64M 447M 13% /boot
tmpfs 1.2G 20K 1.2G 1% /run/user/1000
我看不出有什么奇怪的地方(也许 /dev/shm/ 没有被使用?)
那么,如何找出哪些应用程序占用了大部分 RAM,以及如何解决这个问题呢?