如果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/