linux – sync命令有什么作用?

我知道它的作用……我想我很好奇它为什么在我继承的应用程序中解决问题.我接管了一个相当大的tomcat应用程序,它充当了一堆Flex客户端的Red5服务器,并处理了很多实时交互数据,最终被刷新到rails api.随着时间的推移,这个问题的负担很大,这些客户的目标是增长到3-400毫秒,而通常它< 100毫秒客户怀疑这是一个记忆问题,我们真的无法确认.有一天,一个临时服务器我正在运行负载测试,基本停止接收请求或非常慢.我突发奇想 同步&& echo 3>的/ proc / sys目录/ VM / drop_caches

奇迹般地,服务器恢复了生机,开始全速运行,为这些连接提供服务.这是巧合,还是这种行为有意义,为什么?

最佳答案
任何硬盘都比你的RAM慢几个数量级,所以linux使用你可能浮动的任何备用RAM来缓存文件系统数据.但是,除非您的硬盘出现问题,或者服务器上的服务试图以如此高的速率写入数据的时间长于服务器无法缓存或检索数据,否则这应该永远不会导致性能问题.这也可能表明您的硬盘已达到其使用寿命.

无论如何:

> running man sync会告诉你什么同步[刷新FS缓冲区]
> googling’linux drop_caches’会告诉你,将数字3回显到它会从缓存中释放所有不需要的内存页面[这在健康的系统中不是必需的]
> command1&& command2分解为’如果command1成功完成然后运行command2′

>这个伙伴是command1 || command2 aka’如果command1失败则运行command2′

您获得的命令最多只是一个临时修复,并且表明您的系统出现了其他问题.您的磁盘都处于使用寿命结束时,或者您的系统因使用它而无法正常运行,或者两者兼而有之.

转载注明原文:linux – sync命令有什么作用? - 代码日志