我正在使用免费dyno在Rails 4.1.4项目中托管2个独角兽进程作为我的开发服务器。应用程序运行一段时间后,有时会感到变慢。我添加了New Relic、Logentries,并启用了log-runtime-metrics。然后我查看了New Relic和Logentries。
我不明白的是,我的Dyno内存仅为
» heroku web.1 - - source=web.1 dyno=heroku.21274089.82eb32b4-c547-4041-b452-d3fedae05ee9 sample#load_avg_1m=0.00 sample#load_avg_5m=0.00 sample#load_avg_15m=0.01
» heroku web.1 - - source=web.1 dyno=heroku.21274089.82eb32b4-c547-4041-b452-d3fedae05ee9 sample#memory_total=393.41MB sample#memory_rss=368.38MB sample#memory_cache=4.47MB sample#memory_swap=20.56MB sample#memory_pgpgin=121244pages sample#memory_pgpgout=25796pages
我不明白的是,我的Dyno内存仅为
sample#memory_rss=368.38MB
,但为什么它已经使用了交换内存 sample#memory_swap=20.56MB
?因为根据我从Heroku文章 https://devcenter.heroku.com/articles/dynos#memory-behavior 中得出的结论,如果它达到了免费Dyno的512 Mb内存限制,则应切换到交换内存。请注意,本文中的HTML标记已保留。