ruby - 获取当前 ruby​​ 进程内存使用情况

标签 ruby memory process

我想格式化我的 Logger 输出以包含当前内存使用情况,以供长时间运行的进程使用。

Ruby 有没有为此内置的东西,有点像 PHP 的 memory_get_usage() ?还是我必须执行一些 shell 命令才能从 ps 获取它?

最佳答案

NewRelic gem 通过它们的MemorySampler class 为许多操作系统和ruby 运行时提供简单的RSS 使用实现。 .

在您的 Gemfile 中包含 newrelic_rpm gem 并调用它:

NewRelic::Agent::Samplers::MemorySampler.new.sampler.get_sample

它返回当前进程作为 RSS 持有的内存兆字节数。

实现更喜欢可用的进程内计数器(jruby),在 Linux 上使用 /proc/#{$$}/status,然后回退到 ps其他地方。

关于ruby - 获取当前 ruby​​ 进程内存使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7220896/

相关文章:

java - 将Java程序运行到另一个程序中

.net - 在执行Process.Start()时,是否需要将其包装在using中?

ruby-on-rails - rails 5 : Adding conditional custom validations

php - 允许的内存大小 134217728 字节已用尽

iOS 版本未按预期运行

c++ - 为什么两个指针之间的差异不等于类型的大小?

linux - 检索进程曾经在 linux 中打开的所有文件描述符(文件)的列表

ruby - 带条件的 Rails 计数器缓存

JavaScript 数组转字符串

ruby - 识别哪个 sidekiq 进程属于哪个应用程序