几个月前我还转到了Ubuntu。几天前,我发现系统正在内存中存储缓存,这占用了大量的空间,虽然我从缓存内存中得到了好处,但这现在给我带来了麻烦。
正如您在这张图片中看到的,Ubuntu占用了我内存的50%以上。另外,我使用了23.3%的11.6 GiB,这基本上意味着我的系统占用了75-80%的内存.
现在,我已经搜索了很多次如何清除缓存,并且我发现具有sudo特权的sync; echo 1 > /proc/sys/vm/drop_caches
命令可以清除它,但是这个命令只是在一开始才起作用,比如当我使用这个命令时,看到我的缓存它大大减少了。但是现在,当我看到我的缓存内存运行后,它仍然是一样的。
有人能帮我解决这个麻烦吗?
我想如果我试着升级我的内存,这解决不了这个问题.
发布于 2021-07-08 06:29:04
好吧,我已经解决了sync; echo 1 > /proc/sys/vm/drop_caches
命令的问题,我在某个地方拼写错了这个命令,现在如果我正确地使用这个命令,那么它会清理我的缓存内存,因此我的问题似乎已经解决了,但是对于将来的引用和社区来说,更多的答案将会被感激。
发布于 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会提高性能。
发布于 2021-07-01 17:10:38
缓存内存实际上是空闲内存。
一旦其他空闲内存用完,它就可以(而且会)被自由地喂给任何请求内存的进程。
同时,内核会跟踪缓存在这个空闲内存中的信息。
这个信息不会被一个耗时的i/o写到某个地方,它不是已经写好了就是读过了,而且从一开始就没有改变过。这些信息可以安全地(并且很快)从内存中删除。
https://askubuntu.com/questions/1349286
复制相似问题