golang
dillanzhou
这个作者很懒,什么都没留下…
展开
-
gVisor中的vdso实现
什么是vdso?vdso是virtual ELF dynamic shared object的缩写,即虚拟动态共享库,其实就是“虚拟的so库”。根据linux手册https://man7.org/linux/man-pages/man7/vdso.7.html的介绍,vdso是内核中内置的一个so库。在启动ELF程序时,内核会自动将其映射到进程的虚拟地址空间。通过cat /proc/$pid/maps可以看到每个进程中vdso映射的虚拟地址。vdso的主要存在意义,是为一些频繁调用的内核功能提供用户原创 2020-10-28 01:29:38 · 618 阅读 · 0 评论 -
golang gc实现分析(go1.14.4)
GC(garbage collection,垃圾回收/自动内存回收)是golang的关键特性。基于标记-清除(Mark and Sweep)算法的golang GC比java中基于引用计数的GC更加简单易用。为了降低GC暂停任务执行(STW,Stop The World)的时间,golang中的GC采用三色标记算法,最大程度的将标记过程和任务执行并行。介绍golang GC原理和三色标记算法原理的中文文章不少,例如:Golang GC 探究:https://www.open-open.com/li.原创 2020-09-02 00:29:02 · 2149 阅读 · 1 评论 -
golang的heap profile原理
golang中提供了多种profile用于分析golang程序的CPU、内存等使用情况。heap profile是堆内存使用情况的profile信息,用于分析程序当前的堆内存使用情况,在分析内存开销和内存泄露问题时是一种有效的分析工具。https://lrita.github.io/2017/05/26/golang-memory-pprof/介绍了heap profile的用法。https://golang.org/doc/diagnostics.html和https://golang.org/pkg原创 2020-07-02 01:32:18 · 4521 阅读 · 0 评论