[分享] 測量 Ruby 程式碼是否有 memory leak
如果我們的專案是用純 Ruby 實作
由於 Ruby 有 GC,memory leak 的機率較低
然而,如果我們用 C/C++ 或其他的編譯語言製作 Ruby extension gem
就要注意 memory leak 的議題
用 os 這個 Ruby gem,可以得到 memory usage
https://github.com/rdp/os
使用範例如下:
require 'os'
100.times do
# Run your task here
puts OS.rss_bytes
end
如果記憶體使用量不斷上升,就有可能有 memory leak
這個模組是顯示目前這隻 Ruby 命令稿的記憶體用量
如果要查 memory leak 的位置,要自己設定呼叫的程式碼區塊
在 Windows 上,是透過 win32ole 來查詢
但板工不太熟 OLE,有興趣的板友可自行查詢 os gem 的原始碼
其實蠻短的,這裡就不貼 code 了
在 POSIX 系統上,則是呼叫 ps(1) 這支外部程式來查詢
經板工實測,Linux 和 OSX 上都可以用
分享給有需要的 Rubyist
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.182.118.146
※ 文章網址: https://www.ptt.cc/bbs/Ruby/M.1480936199.A.C30.html
※ 編輯: Neisseria (175.182.118.146), 12/05/2016 19:15:26
推
12/05 22:07, , 1F
12/05 22:07, 1F
→
12/05 22:07, , 2F
12/05 22:07, 2F
→
12/10 00:36, , 3F
12/10 00:36, 3F
Ruby 近期熱門文章
PTT數位生活區 即時熱門文章