我知道它的作用...我想我很好奇为什么它可以解决我继承的应用程序中的问题。我接管了一个相当大的tomcat应用程序,该应用程序充当一堆Flex客户端的Red5服务器,并处理了大量的实时交互数据,这些数据最终被刷新为Rails api。随着时间的流逝,问题变得越来越严重,这些客户端的驻留时间增长到3-400毫秒,而通常情况下<100毫秒。客户怀疑这是一个内存问题,我们确实无法确认。有一天,我正在对一个负载测试进行运行的登台服务器基本上停止了接收请求或速度非常慢。我一时兴起
sync && echo 3 > /proc/sys/vm/drop_caches
服务器神奇地恢复了生命,并开始全速运行,为这些连接服务。这是巧合还是这种行为有意义,为什么?
4
那是两个命令。您注意到哪一个效果了?
—
迈克尔·汉普顿
linuxtidbits.wordpress.com/2008/02/20/purge-memory建议一起运行它们,所以我不知道。
—
j_mcnally
这是进一步重构这里:commandlinefu.com/commands/view/1026/...
—
j_mcnally
很难说。除非被严重误解,否则您不会期望这些命令在服务器上做任何有益的事情。但是,如果不进行更仔细的研究,当然不能排除它。如果再次发生,请尝试
—
David Schwartz 2013年
sync
或echo
。然后尝试弄清楚为什么在这种情况下服务器运行缓慢(CPU是否已最大化?IO是否已最大化?系统页面调度了吗?)