微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails – 由于自动刷新日志而导致内存利用率过高

如果autoflush_log设置为true,是否可以具有高内存利用率?

我有这样的自定义生产环境(临时)设置

require Rails.root.join("config/environments/production")

Calamus::Application.configure do
  config.action_mailer.default_url_options = {:protocol => 'https',:host => xx.xx.xx.xx }
end

这是记录sql语句.所以我将日志级别设置为info

config.log_level = :info

但是添加上述行会导致独角兽进程占用太多内存并且机器内存运行非常高

当我添加这一行

config.autoflush_log = false

内存利用率变得正常.
任何人都可以看到连接?为什么autoflushing会导致高内存利用率?

解决方法

一般来说,写入文件与任何IO操作一样昂贵.这导致了其他问题,例如,我记录了多少会导致系统速度下降?我登录文件系统是什么,是共享的,等等?

你看过日志了吗?是否有异常被提出?你的日志有多大?以什么速度?

首先,我会看一下记录的内容以及发生这种情况的速度.
其次,如果日志记录正常但内存利用率很高,我会将记录下来进一步调查.

拳头.只记录任何高于或等于警告的内容

config.log_level = :warn

没有设置autoflush_log.

当系统很高时,我会看看“top”告诉我什么以及/ var / log / syslog

“顶部”的替代实用程序是“htop”.它为您提供了更多信息(眼睛更容易)以及高度可配置性.
http://hisham.hm/htop/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐