Ruby生产服务器内存泄漏

时间:2015-10-12 08:30:32

标签: ruby-on-rails ruby amazon-web-services memory-leaks elastic-beanstalk

我有一个生产rails应用服务器,rails worker进程的内存使用量在3-4天内从~300 MB增加到~1.2GB。

如何调试此内存泄漏。 我使用的是rvm 2.2.2,我的应用服务器部署在AWS:ElasticBeanstalk中。我正在使用puma web服务器。

请提供详细的答案。

1 个答案:

答案 0 :(得分:2)

我最近遇到了与ruby 2.2.2类似的问题。我使用$cuisines = implode('","' , explode('/','hk-01/hk-06')); $sql_cuisine = 'SELECT * FROM cc_cuisines WHERE cuisine_asoc IN ("'. $cuisines .'")'; $result_cuisine = $conn->query($sql_cuisine); while( $row2 = $result_cuisine->fetch()) { echo $row2['cuisine_name']; } gem写入AWS S3。我在this issue on aws-sdk GitHub找到了解决方案。

ruby​​ 2.2.0到2.2.2附带的aws-sdk类中存在内存泄漏。将文件发送到S3时,StringIO使用此类。这个错误在2.2.3上是reported and fixed

希望升级到ruby 2.2.3可以解决您的问题。