这里记录一下调试golang gc的方法

启用gc打印:

# GODEBUG=gctrace=1 go run ./main.go

程序启动后gc将打印如下信息:

gc 65 @16.996s 0%: 0+1.0+0 ms clock, 0+0/1.0/2.0+0 ms cpu, 10->10->4 MB, 11 MB goal, 4 P
gc 66 @100.235s 0%: 0+1.0+0 ms clock, 0+1.0/1.0/2.0+0 ms cpu, 9->9->3 MB, 10 MB goal, 4 P
GC forced
gc 35 @127.931s 0%: 0+1.9+0 ms clock, 0+0/1.9/4.9+0 ms cpu, 8->8->3 MB, 9 MB goal, 4 P
scvg0: inuse: 6, idle: 12, sys: 18, released: 0, consumed: 18 (MB)
scvg0: inuse: 6, idle: 9, sys: 15, released: 0, consumed: 15 (MB)
GC forced
gc 67 @220.264s 0%: 0+0.98+0 ms clock, 0+0/0.98/2.9+0 ms cpu, 5->5->3 MB, 7 MB goal, 4 P

gc打印信息的含义依次如下:

  1. gc 65 @16.996s:第65次执行,进程已经启动16.996秒
  2. 0%:本次执行gc占用的进程cpu时间的百分比
  3. 0+1.0+0 ms clock:本次gc的耗时。依次是STW清扫的时间, 并发标记和扫描的时间,STW标记的时间。(STW即stop-the-world,STW时间内进程完全被挂起)
  4. 0+0/1.0/2.0+0 ms cpu:本次gc占用cpu时间
  5. 10->10->4 MB:堆的大小,gc后堆的大小,存活堆的大小
  6. 11 MB goal:整体堆的大小
  7. 4 P:CPU核数
  8. GC forced:由runtime.GC()强制执行
  9. 系统内存回收信息
	scvg0: inuse: 6, idle: 12, sys: 18, released: 0, consumed: 18 (MB)
 - inuse:使用多少M内存
- idle:剩下要清除的内存
- sys:系统映射的内存
- released:释放的系统内存
- consumed:申请的系统内存

golang(go语言)调试和查看gc信息,以及gc信息解析的更多相关文章

  1. 在调试状态查看DateTable里的数据信息

  2. 浅析VS2010反汇编 VS 反汇编方法及常用汇编指令介绍 VS2015使用技巧 调试-反汇编 查看C语言代码对应的汇编代码

    浅析VS2010反汇编 2015年07月25日 21:53:11 阅读数:4374 第一篇 1. 如何进行反汇编 在调试的环境下,我们可以很方便地通过反汇编窗口查看程序生成的反汇编信息.如下图所示. ...

  3. Linux下用gdb 调试、查看代码堆栈

      Linux中用gdb 查看代码堆栈的信息 core dump 一般是在segmentation fault(段错误)的情况下产生的文件,需要通过ulimit来设置才会得到的. 调试的话输入: gd ...

  4. HTTP基础(一):如何使用浏览器network查看请求和响应的信息

    一. 问题描述 HTTP作为前端开发与后开发链接的载体,其重要性不言而喻,今天我不复习关于HTTP自身的一些知识,只复习如何解读浏览器自带的的抓包工具(查看请求信息与响应信息)network. 二. ...

  5. Mac OS X下环境搭建 Sublime Text 2 环境变量配置 开发工具配置Golang (Go语言)

    Golang (Go语言) Mac OS X下环境搭建 环境变量配置 开发工具配置 Sublime Text 2 一.安装Golang的SDK 在官网http://golang.org/ 直接下载安装 ...

  6. 一、C语言调试—— gdb 的使用

    1.1 gdb 调试工具常用命令 list:展开调试的源代码,缩写 l: break:设置断点,缩写为 b: info break:查看断点信息,缩写为 i b delete:删除断点 print:打 ...

  7. Golang (Go语言) Mac OS X下环境搭建 环境变量配置 开发工具配置 Sublime Text 2 【转】

    一.安装Golang的SDK 在官网 http://golang.org/ 直接下载安装包安装即可.下载pkg格式的最新安装包,直接双击运行,一路按照提示操作即可完成安装. 安装完成后,打开终端,输入 ...

  8. 查看http请求的header信息

    1 下载chrome浏览器 chrome浏览器是google开发的一块非常绑定浏览器.chrome浏览器下载地址. 2 通过chrome控制台查看http请求的header信息 2.1 打开chrom ...

  9. 从Golang中open的实现方式看Golang的语言设计

    Golang有很多优点: 开发高效:(C语言写一个hash查找很麻烦,但是go很简单) 运行高效:(Python的hash查找好写,但比Python高效很多) 很少的系统库依赖:(环境依赖少,一般不依 ...

随机推荐

  1. react-dnd

    http://react-trello-board.web-pal.com/ https://react-dnd.github.io/react-dnd/docs-tutorial.html http ...

  2. 《javascript设计模式》笔记之第十章 和 第十一章:门面模式和适配器模式

    第十章:门面模式 一:门面模式的作用 简化已有的api,使其更加容易使用 解决浏览器的兼容问题 二:门面模式的本质 门面模式的本质就是包装已有的api来简化操作   三:门面模式的两个简单例子 下面这 ...

  3. 从零开始利用vue-cli搭建简单音乐网站(一)

    最近在学习vue框架,练习了一些例子之后,想着搭建一个vue项目,了解到官方有提供一个vue-cli工具来搭建项目脚手架,尝试了一下,写下博客来记录一下. 一.工具环境 1.node.js 6.10. ...

  4. 【虚拟机-虚拟网络】使用 PsPing & PaPing 进行 TCP 端口连通性测试

    PsPing & PaPing 介绍 通常,我们测试数据包能否通过 IP 协议到达特定主机时,都习惯使用 ping 命令.工作时 ping 向目标主机发送一个 IMCP Echo 请求的数据包 ...

  5. Struts功能详解 ——ActionServlet

    ActionServlet类是Struts框架的内置核心控制器组件,它继承了javax.servlet.http.HttpServlet类.Struts的启动通常从 加载ActionServlet开始 ...

  6. Android内核剖析(1)

    Linux的启动过程 开机上电执行bootloader,将内核的前n条指令加载到系统内存中------>系统内核的初始化----------->启动应用程序. bootloader的位置装 ...

  7. 数据库要素 ER

    数据库的要素即为ER: 即为表和关系. 再往下即为字段.记录. 往上即为数据操作.管理: 包含多表操作: 在往上为事务. 再往上为大数据.高并发.

  8. hdparm - 获取/设置硬盘参数

    总览 hdparm [ -a [扇区数] ] [ -A [0|1] ] [ -c [芯片组模式] ] [ -C ] [ -d [0|1] ] [ -f ] [ -g ] [ -i ] [ -k [0| ...

  9. [Java] 新手快速就业需要掌握的知识点

    目的:主要是分享下日常工作中使用到的技术点,根据二八定律快速掌握使用知识点,先就业再沉淀去积累经验.(个人建议仅供参考) 背景:目前一般来说,都是前后端分离.你只需要提供接口给前端,他来处理就可以了, ...

  10. 2018.5.14 PHP基础学习

    1.使用PHP输出HTML 使用PHP输出一个表格,并且通过style标签改变字体 <!--思考与练习--> <style type="text/css"> ...