我几个月前切换到了Ubuntu。几天前,我发现系统将缓存存储在内存中,占用了很多空间,尽管我从缓存内存中获得了好处,但现在这给我带来了麻烦。
如您所见,Ubuntu占用了我超过50%的RAM。此外,我正在使用11.6 GiB的23.3%,这基本上意味着我的系统占用了超过75-80%的内存...
现在,我已经多次搜索了如何清除缓存的方法,并发现使用具有sudo权限的
有人能帮我解决这个问题吗?
附言:我认为如果我尝试升级我的RAM,这个问题不会得到解决...
现在,我已经多次搜索了如何清除缓存的方法,并发现使用具有sudo权限的
sync; echo 1 > /proc/sys/vm/drop_caches
命令可以清除缓存,但是这个命令只在一开始起作用,就像当我使用这个命令并查看我的缓存时,它大幅减少了。但是现在,当我运行这个命令后查看我的缓存内存,它保持不变。有人能帮我解决这个问题吗?
附言:我认为如果我尝试升级我的RAM,这个问题不会得到解决...
malloc()
(内存分配)函数,但没有可用的空闲内存,则会分配缓存内存,而该部分缓存将会丢失...我不明白限制如何能帮助解决您的问题,您可能关注的是错误的问题...(个人观点,我不了解代码,而且我对Linux内核工作原理的阅读已经很久以前了)。 - guiverctmpfs
中的数据将显示为“缓存内存”。然而,系统监视器将显示此类内存既作为缓存又作为已使用(因此它将出现在饼图的彩色部分)。这曾经让我困扰过。(链接:https://askubuntu.com/questions/762717/high-shmem-memory-usage) - nulldevmalloc()
基本上永远不会返回NULL,所以这个问题无关紧要。 - marcelm