Ruby on rails 自动刷新日志导致内存利用率高

Ruby on rails 自动刷新日志导致内存利用率高,ruby-on-rails,logging,unicorn,production,autoflush,Ruby On Rails,Logging,Unicorn,Production,Autoflush,如果autoflush\u 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 } en

如果
autoflush\u 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
但是添加上述代码会导致unicorn进程占用太多内存,并且机器的内存非常高

当我添加这一行时

config.autoflush_log = false
内存利用率变得正常。
有人能看到连接吗?为什么自动刷新会导致高内存利用率?

一般来说,写入文件与任何IO操作一样是一项昂贵的操作。这导致了其他问题,例如,我记录了多少日志导致系统减速?我要登录到哪个文件系统,它是共享的吗,等等

你看过日志了吗?是否提出了例外情况?你的原木长多大?以什么速度

首先,我要看看记录了什么,以及发生的速度。 第二,如果日志记录是正常的,但mem利用率很高,我会将日志记录降低以进一步调查

拳头。仅记录高于或等于警告的内容

config.log_level = :warn
不设置自动刷新日志

当系统处于高位时,我将查看“top”告诉我的内容以及/var/log/syslog

“top”的另一个实用程序是“htop”。它为您提供了更多我发现的信息(更容易的眼睛),以及高度可配置。

您如何衡量内存使用情况?
config.autoflush\u log=false
config.autoflush\u log=true
之间的内存使用情况有什么不同?设置
config.autoflush_log=true
应略微增加CPU活动,但应通过不缓冲输出稍微减少内存使用。除非您有一个高活动性的应用程序,否则更改应该非常小。