[分享] 測量 Ruby 程式碼是否有 memory leak

看板Ruby作者 (Neisseria)時間8年前 (2016/12/05 19:09), 8年前編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/1
如果我們的專案是用純 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
推,不過gc釋放的記憶體還是只有ruby能用
12/05 22:07, 1F

12/05 22:07, , 2F
所以還是得定期重開
12/05 22:07, 2F

12/10 00:36, , 3F
gc 釋放的記憶體還是只有 ruby 能用?
12/10 00:36, 3F
文章代碼(AID): #1OHKi7mm (Ruby)
文章代碼(AID): #1OHKi7mm (Ruby)