如何测量 Rack 或 Sinatra 应用程序的内存使用情况?
我理解这可能很大程度上取决于它如何部署。 但是,您如何基本了解其使用了多少内存?
如何测量 Rack 或 Sinatra 应用程序的内存使用情况?
我理解这可能很大程度上取决于它如何部署。 但是,您如何基本了解其使用了多少内存?
DERAILED_APP
以告诉它如何引导你的应用程序。DATABASE_URL
)。如果需要,还可以用来测试任何端点并绕过身份验证。使用案例包括随时间推移的内存使用情况(查找泄漏)和针对给定端点在启动时对Gem /所需库内存进行分析(启动时有大量内存使用)。bundle exec derailed exec perf:mem
在我的应用程序的根目录下启动时会产生以下输出(此处隐藏了< 3 MiB的使用情况)。约70 MiB与Heroku在我的生产服务器上提供的统计数据相符。顺便说一下,我的应用程序名为'padfoot'。
顶部: 71.75 MiB
mechanize: 19.0898 MiB (也被以下文件所需:/Users/me/dev/padfoot/lib/parsers/transaction_table_parser.rb, /Users/me/dev/padfoot/lib/scrapers/app_details_scraper.rb 和其他4个)
mechanize/pluggable_parsers: 11.1055 MiB
mime/types: 10.9766 MiB (也被以下文件所需:/Users/me/.rvm/gems/ruby-2.3.1/gems/rest-client-1.8.0/lib/restclient/request, /Users/me/.rvm/gems/ruby-2.3.1/gems/rest-client-1.8.0/lib/restclient/payload)
padrino: 13.1016 MiB
padrino-core: 8.0273 MiB (也被padrino-cache、padrino-admin所需)
padrino-core/application: 3.3555 MiB
sinatra/base: 3.1406 MiB (也被padrino-core/ext/sinatra、sinatra/main所需)
padrino-helpers: 3.707 MiB (也被padrino-cache、padrino-admin所需)
padrino/rendering: 3.3203 MiB (也被/Users/me/dev/padfoot/app/app.rb所需)
/Users/me/dev/padfoot/config/apps.rb: 6.9805 MiB
/Users/me/dev/padfoot/app/app.rb: 6.8906 MiB
aws-sdk-core/s3: 6.3711 MiB
/Users/me/dev/padfoot/lib/scrapers/gps/gps_scraper.rb: 4.25 MiB
linguistics/en: 4.1523 MiB
/Users/me/dev/padfoot/lib/scrapers/digimap/digimap_scraper.rb: 3.0547 MiB
top
或htop
命令并加上进程 ID 来查看进程信息。 - Viren