我這裡要說的是他們的工作原理。 這些模組的核心都是根據erlang的trace機制實現的。在模組執行的時候,trace機制會通知那個函式被呼叫 返回。根據這些資訊就可以統計出來函式呼叫的頻度,呼叫棧等。
但是利用這個機制會有嚴重的效能損失。因為每個函式呼叫都要傳送一條trace資訊,每個trace 資訊會引起上下文切換 而且要耗費2-3的時間。這個對大型的系統是不可接受的。
所以知道這些原理以後, 我們在profile大型的系統的時候,我們可以在dbg模組的幫助下, 只收集我們感興趣的東西,而且嚴格限定範圍,避免對系統造成大的干擾,這樣收集出來的東西才有意義。
ERLANG 網工修煉筆記 UDP
udp是乙個比較常用的傳輸層協議,erlang標準庫中提供了gen dup模組,要掌握udp協議,我們首先要熟悉這個模組。首先看這個模組的幾個公共函式 open 和 close 比較好理解,就是在某個埠上開啟乙個socket,以及關閉某個socket。send 就是通過某個socket,往某個位址的...
Linux bashrc與profile的區別
要搞清bashrc與profile的區別,首先要弄明白什麼是互動式shell和非互動式shell,什麼是login shell 和non login shell。互動式模式就是shell等待你的輸入,並且執行你提交的命令。這種模式被稱作互動式是因為shell與使用者進行互動。這種模式也是大多數使用者...
Linux bashrc和profile的學習
linux的shell有兩種方式 1.login shell 例如開啟乙個terminal,然後輸入一些命令,退出時shell結束 2.non login shell 例如執行乙個shell指令碼,當指令碼執行完成,shell結束 bashrc用於儲存non login模式環境設定資訊,profil...