我正在尝试确定应用服务器实例内存使用率高的原因,为此我需要为每个正在运行的乘客进程(例如 production_18204.log)创建一个单独的日志。有没有一种简单的方法可以在 Rails 应用程序中配置它?谢谢。
问问题
84 次
1 回答
0
要记录每个请求中进程使用的内存,请使用以下代码。
def log_memory_usage
mem_usage = `ps -o rss= -p #{ Process.pid }`.to_i
if logger
logger.info("[MEMORY USAGE]: #{ number_to_human_size(mem_usage) } | PID: #{ Process.pid } | CONTROLLER: #{ controller_name } | ACTION: #{ action_name }")
end
end
在您的基础或应用程序控制器中使用此操作作为之前的操作。做包括ActionView::Helpers::NumberHelper
做number_to_human_size
工作。
于 2017-03-29T13:36:30.553 回答