2013-11-27 67 views
0

我在運行百搭的Ruby進程時遇到問題。什麼是檢查正在運行的Ruby進程的最佳方式

檢查此類過程以進行調試的最佳方法是什麼?

我發現了一篇關於using GDB的好文章來檢查它。

你用什麼來達到這個目的,你有沒有什麼好的資源可以閱讀?

+0

嘗試rbtrace的數字進程ID? https://github.com/tmm1/rbtrace –

回答

1

也許一個好辦法由示蹤開始LIB

ruby -rtracer 

或 strace的使用

在Linux上使用-f標誌,以下列叉

truss 
與BSD同一國旗

0

如果您對current_process_memory_size感興趣,您可以實施#memstats方法(感謝Avdi Grimm和他的rubytapas課程)。

require 'csv' 

def memstats 
    size = `ps -o size= #{$$}`.strip.to_i 
    p "Size: #{size}" 
end 


memstats      # => "Size: 5168" 
CSV.open('simple.csv', headers: true) do |csv| 
    visitors = csv.each   
    memstats      # => "Size: 5170" 
    p visitors.count{|v| v} # => 168 

end 
memstats      # => "Size: 5168" 

$$是紅寶石special variable,它可以讓你獲得當前進程

相關問題