关于在我的Gnu/服务器上使用这个脚本,我需要您的建议。
服务器用于使用magento平台托管网站。我注意到,每2-3天当我检查内存时,它显示的是5到7GB的空闲内存,总共64 GB。
我偶然发现了一个网站:如何在Linux上清除RAM内存缓存、缓冲区和交换空间。
其中的脚本如下:
#!/bin/bash
# Note, we are using "echo 3", but it is not recommended in production
# instead use "echo 1"
echo 3 > /proc/sys/vm/drop_caches他们声明如下:
Linux内核可能使用的Linux中释放缓冲区和缓存是一个好主意吗?当您正在应用各种设置并想要检查时,如果它实际上是在I/O广泛的基准测试上实现的,那么您可能需要清除缓冲区缓存。如前所述,您可以删除缓存,而无需重新启动系统,即不需要停机时间。Linux的设计方式是在查看磁盘之前查看磁盘缓存。如果它在缓存中找到了资源,那么请求就不会到达磁盘。如果我们清理缓存,那么磁盘缓存就不会那么有用了,因为操作系统会查找磁盘上的资源。此外,在清理缓存和操作系统所需的所有资源再次加载到磁盘缓存中时,它还会使系统慢下来几秒钟。
在其他一些网站上,我注意到加载内存的命令如下所示:
#!/bin/bash
sync; echo 3 > /proc/sys/vm/drop_caches在回波之前,“同步”做什么更好?
发布于 2020-02-13 22:19:01
我的建议是不要!
除非您现在对内存有非常明确的需求,否则最好让内存保存可能有用的东西。linux内核将能够在不到1微秒内收回内存,如果它真的需要的话。相比之下,从传统硬盘中获取数据需要数万微秒(7200 from硬盘驱动器平均需要420万秒才能旋转到正确的位置,在高端磁盘上查找的时间也是4毫秒)。与ram相比,即使是ssd性能也会爬行。
没有与内存中没有有用信息相关的功率节省。
放弃缓存的原因主要是基准测试,特别是基准标记文件系统。可以想象,hibernate工具也希望减少需要编写的主内存量。
发布于 2020-02-13 22:15:18
是的,它会降低性能。但是没有什么可以打破的,只要你不介绍一个但是。
但为什么要这么做。没有好处。内核正在试图找到其他未使用的内存的用途。
https://unix.stackexchange.com/questions/567500
复制相似问题