首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >缓存内存占用所有内存。

缓存内存占用所有内存。
EN

Ask Ubuntu用户
提问于 2021-07-01 07:29:46
回答 8查看 12.6K关注 0票数 14

几个月前我还转到了Ubuntu。几天前,我发现系统正在内存中存储缓存,这占用了大量的空间,虽然我从缓存内存中得到了好处,但这现在给我带来了麻烦。

正如您在这张图片中看到的,Ubuntu占用了我内存的50%以上。另外,我使用了23.3%的11.6 GiB,这基本上意味着我的系统占用了75-80%的内存.

现在,我已经搜索了很多次如何清除缓存,并且我发现具有sudo特权的sync; echo 1 > /proc/sys/vm/drop_caches命令可以清除它,但是这个命令只是在一开始才起作用,比如当我使用这个命令时,看到我的缓存它大大减少了。但是现在,当我看到我的缓存内存运行后,它仍然是一样的。

有人能帮我解决这个麻烦吗?

我想如果我试着升级我的内存,这解决不了这个问题.

EN

回答 8

Ask Ubuntu用户

回答已采纳

发布于 2021-07-08 06:29:04

好吧,我已经解决了sync; echo 1 > /proc/sys/vm/drop_caches命令的问题,我在某个地方拼写错了这个命令,现在如果我正确地使用这个命令,那么它会清理我的缓存内存,因此我的问题似乎已经解决了,但是对于将来的引用和社区来说,更多的答案将会被感激。

票数 1
EN

Ask Ubuntu用户

发布于 2021-07-01 08:56:37

如果系统占用了缓存的所有空间,那么我将无法使用ram

这不是真的。缓存的RAM不确定正在使用的RAM。您将能够使用RAM,这就是为什么它被称为缓存-它可以使用和丢弃的需要。事实上,这与你的假设正好相反。如果您消除了缓存的RAM,您将无法使用缓存的内容。

现在,我已经多次搜索如何清除缓存,我发现了同步;带有sudo权限的echo 1>/proc/sys/vm/drop_ cache命令可以清除它,但是这个命令只在一开始起作用,比如当我使用这个命令时,看到我的缓存它大大减少了。但是现在,当我看到我的缓存内存运行后,它仍然是一样的。

如果关闭了交换功能,只需要手动清除缓存。禁用交换性不建议提高性能。,因为这实际上降低了系统性能。

与Windows不同,Ubuntu不会因为内存管理上的差异而在重RAM负载下崩溃。禁用这些功能将大大降低性能。

总之,缓存的RAM不是在使用中的RAM,也不会最大化您的RAM或降低系统性能,因为缓存的RAM会根据需要自动丢弃。相反,当需要时,缓存的RAM会提高性能。

票数 28
EN

Ask Ubuntu用户

发布于 2021-07-01 17:10:38

缓存内存实际上是空闲内存。

一旦其他空闲内存用完,它就可以(而且会)被自由地喂给任何请求内存的进程。

同时,内核会跟踪缓存在这个空闲内存中的信息。

这个信息不会被一个耗时的i/o写到某个地方,它不是已经写好了就是读过了,而且从一开始就没有改变过。这些信息可以安全地(并且很快)从内存中删除。

票数 22
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1349286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档