gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 05:14:43 26 4
gpt4 key购买 nike

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

但是添加上面的行导致 unicorn 进程占用太多内存并且机器在内存上运行得非常高

当我添加这一行时
config.autoflush_log = false

内存利用率恢复正常。
任何人都可以看到连接吗?为什么会 autoflushing导致内存利用率高?

最佳答案

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

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

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

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

config.log_level = :warn

不设置 autoflush_log。

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

“top”的替代实用程序是“htop”。它为您提供了我发现的更多信息(更容易看到)以及高度可配置的。
http://hisham.hm/htop/

关于ruby-on-rails - 自动刷新日志导致内存利用率高,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21788692/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com