相关疑难解决方法(0)

Linux:如何显式地取消所有可能的交换?

我推出了一些占用大量内存的东西,现在一切都滞后了很多。我猜想所有应用程序的内存都已交换,以便为内存密集型进程释放一些空间,现在所有内容在访问时都慢慢返回到 RAM。

有没有办法明确地将所有可能的东西从交换移回 RAM?或者也许不是一切,而只是一些特定的过程数据?

linux memory swap

63
推荐指数
2
解决办法
3万
查看次数

删除linux缓存的ram

我有一个具有 8GB 内存的网络服务器,并且正在运行一个非常密集的 php 站点(1 个站点),该站点可以进行文件操作、绘图、电子邮件、论坛,等等。环境远非静态,这让我相信在 ram 中缓存任何东西几乎没有什么好处,因为几乎每个对服务器的请求都会创建新的或更新的页面。很多缓存是在客户端完成的,所以当涉及到图像、javascript、css 时,我们有大量的 304 请求。

此外,我确实有语言文件被写入服务器上的平面文件,其中缓存的 ram 绝对是好的,而不是从磁盘读取。但是这样的文件屈指可数。

在大约两周内,我从拥有 98% 的空闲内存变成了 4% 的空闲内存。这发生在我们还将几个大型 svn 更新推送到服务器的时候。

我的问题是,如果我使用以下命令定期清除缓存(我知道 Linus Torvalds 对缓存的感觉),我的服务器是否会得到更好的调整:

sync; echo 3 > /proc/sys/vm/drop_caches
Run Code Online (Sandbox Code Playgroud)

或者我最好编辑以下文件:

/proc/sys/vm/swappiness  
Run Code Online (Sandbox Code Playgroud)

如果我用 30 替换默认值 60,我应该有更少的交换和更多的陈旧缓存重用。

看到使用第一个命令释放所有缓存确实感觉很好,但如果我告诉你这对桌面环境有好处,那我就是在骗你。但是像我上面描述的那样的网络服务器呢?想法?

编辑:我知道系统将根据需要从缓存中获取内存,但感谢您指出我们的清晰。当大部分服务器内存存储在缓存中时 Apache 会变慢,我是否在想象事情?那是完全不同的问题吗?

linux memory web-server cache swapping

17
推荐指数
1
解决办法
6637
查看次数

标签 统计

linux ×2

memory ×2

cache ×1

swap ×1

swapping ×1

web-server ×1