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/

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...