婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Go語言程序查看和診斷工具詳解

Go語言程序查看和診斷工具詳解

熱門標簽:黃岡人工智能電銷機器人哪個好 惠州電銷防封電話卡 建造者2地圖標注 鄭州亮點科技用的什么外呼系統 浙江高頻外呼系統多少錢一個月 濱州自動電銷機器人排名 阿里云ai電話機器人 汕頭小型外呼系統 釘釘有地圖標注功能嗎

想必Java 的開發者沒有不知道或者沒用過 jps 這個命令的,這個命令是用來在主機上查看有哪些 Java 程序在運行的。

我剛用 Go 語言程序的時候也很苦惱,我部署在公司服務器上的 Go 程序,其他的同事由于不清楚就經常找不到。

那么 Go 語言有沒有像 jps 這樣的工具呢?當然有,不僅有,而且還是 Google 自己出品的,官方認證(這種問題 Google 不可能自己想不到啊)。名稱也跟 jps 很像,叫 gops。

安裝

gops 并不包含在官方安裝包中,不屬于標準工具。需要手動獲取。

go get -u github.com/google/gops

簡單使用

goes 的使用方法非常簡單,我們看一下 help 文檔就可以了。

最簡單的用法就是 gops,會直接列出正在運行的 Go 程序

會依次列出 PID,PPID,程序名稱,編譯使用的 Go 版本號,程序路徑。信息比 jps 還詳細,不錯哦。

不止如此,gops 還能進行程序的診斷。

診斷

可能有人注意到了上面我的 memory-test 程序后面有個 * 號。這是因為程序中我加入了 gops 用的診斷支持代碼:

if err := agent.Listen(agent.Options{ShutdownCleanup:true}); err != nil {
 log.Fatalln(err)
}

對于這樣的程序,我們才能進行 gops pprof-cpu 和 gops pprof-heap 等命令。(stack, gc, setgc, memstats, version, stats, trace 等命令運行同樣需要加入上面的代碼)。

使用很簡單,就直接貼一點圖,不講了。

因為 go pprof 命令有助于我們分析程序,相對來說更加常用。但是以往用起來相對要麻煩一些(可參照本人另一篇《Go 程序的性能優化及 pprof 的使用》)。現在有了 gops,分析 cpu 和內存使用就跟方便了。

gops 不僅支持本地使用,而且支持遠程。查看 agent.Options:

可以設置 Addr 為 host:port 形式。我這邊設置為 ":9779"。將其部署到遠程服務器上,運行命令 gops pprof-heap 192.168.199.210:9779,可以看到:

完全可行。 (注意,不僅只有 pprof-heap,gops 所有命令都支持遠程)

在我們的程序中加入診斷用代碼,當部署到遠程服務器上,也能很方便地分析程序情況。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • GO語言實現的http抓包分析工具pproxy介紹

標簽:滄州 晉中 泰安 東營 阿壩 昭通 瀘州 駐馬店

巨人網絡通訊聲明:本文標題《Go語言程序查看和診斷工具詳解》,本文關鍵詞  語言程序,查看,和,診斷,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Go語言程序查看和診斷工具詳解》相關的同類信息!
  • 本頁收集關于Go語言程序查看和診斷工具詳解的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 甘洛县| 广东省| 班玛县| 赣州市| 青海省| 乌海市| 昂仁县| 西宁市| 油尖旺区| 威海市| 启东市| 客服| 新营市| 杭州市| 东城区| 长泰县| 镇赉县| 岱山县| 丹凤县| 马边| 扬州市| 平潭县| 饶平县| 安康市| 晴隆县| 新乡县| 南乐县| 建始县| 平远县| 奇台县| 三江| 静宁县| 浪卡子县| 苍南县| 察哈| 罗平县| 墨玉县| 岚皋县| 新晃| 积石山| 玉树县|