栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

golang 协程占多大内存

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

golang 协程占多大内存

本质上,goroutine 就是协程。

不同的是,Golang 在 runtime、系统调用等多方面对 goroutine 调度进行了封装和处理,当遇到长时间执行或者进行系统调用时,会主动把当前 goroutine 的CPU (P) 转让出去,让其他 goroutine 能被调度并执行,也就是 Golang 从语言层面支持了协程。

Golang 的一大特色就是从语言层面原生支持协程,在函数或者方法前面加 go关键字就可创建一个协程。 (推荐学习:go)

协程(coroutine)是Go语言中的轻量级线程实现,由Go运行时(runtime)管理。

GO版本:go version go1.4.2 linux/amd64

测试环境:

[root@localhost mpro]# more /proc/cpuinfo | grep "model name"model name      : Intel(R) Core(TM) i5-4590 CPU @ 3.30GHzmodel name      : Intel(R) Core(TM) i5-4590 CPU @ 3.30GHzmodel name      : Intel(R) Core(TM) i5-4590 CPU @ 3.30GHzmodel name      : Intel(R) Core(TM) i5-4590 CPU @ 3.30GHz[root@localhost mpro]# [root@localhost mpro]# grep MemTotal /proc/meminfoMemTotal:        3868776 kB[root@localhost mpro]# getconf LONG_BIT64[root@localhost mpro]# more /etc/redhat-releaseCentOS Linux release 7.1.1503 (Core)

测试用例:

package main import (    "time") func main() {    for i := 0; i < 200000; i++ {        go func() {            time.Sleep(5 * time.Second)        }()    }     time.Sleep(10 * time.Second)}

执行程序前:

top - 18:53:19 up 19 min,  3 users,  load average: 0.00, 0.04, 0.11Tasks: 522 total,   1 running, 521 sleeping,   0 stopped,   0 zombie%Cpu(s):  0.1 us,  0.2 sy,  0.0 ni, 99.6 id,  0.0 wa,  0.0 hi,  0.1 si,  0.0 stKiB Mem :  3868776 total,  3327732 free,   235764 used,   305280 buff/cacheKiB Swap:  2097148 total,  2097148 free,        0 used.  3397344 avail Mem

执行程序后:

top - 18:53:37 up 19 min,  3 users,  load average: 0.00, 0.04, 0.11Tasks: 524 total,   1 running, 523 sleeping,   0 stopped,   0 zombie%Cpu(s):  1.2 us, 10.6 sy,  0.0 ni, 88.2 id,  0.0 wa,  0.0 hi,  0.1 si,  0.0 stKiB Mem :  3868776 total,  2793732 free,   752512 used,   322532 buff/cacheKiB Swap:  2097148 total,  2097148 free,        0 used.  2880016 avail Mem

总结:20万个协程占用了500M内存 50万KB

平均一个协程占用2.5KB

以上就是golang 协程占多大内存的详细内容,更多请关注考高分网其它相关文章!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/794125.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号