笔记:GO1.19 带来的优化(重新编译juicefs)

## 背景

go编写的应用程序(juicefs)在k8s(docker)中运行,时不时出现 OOM Killed。

## 分析

发现某些应用使用juicefs会导致内存使用飙升;

k8s的pod给的内存资源:request 2G,limit 5G;

到内存使用到达5G的时候,就会出现OOM;

## 解决

使用 go 1.19 重新编译(juicefs),并且在进程启动的pod中设置环境变量 GOMEMLIMIT

GOMEMLIMIT=2048MiB

将内存限制在2G,解决OOM Kill的问题;

## 参考

go1.19 内存优化的具体技术细节参考如下:

Go 1.19中值得关注的几个变化: Go 1.19中值得关注的几个变化 | Tony Bai

## TODO

排查内存占用过高的原因

## 注

对于juicefs而言(静态pv挂载方式),则是修改secret

kxyb -n juicefs-system create secret generic juicefs-secret-zmc-test \
      --from-literal=name="zmc-test" \
      --from-literal=metaurl="tikv://node1.juicefs-tikv.sys.xxx.com:2379,node2.juicefs-tikv.sys.xxx.com:2379/zmc-test" \
      --from-literal=storage="OSS" \
      --from-literal=bucket="http://juicefs.shanghai.oss.aliyun.xxxx.com" \
      --from-literal=access-key="xxxxx" \
      --from-literal=secret-key="xxxxx" \
      --from-literal=appid="100012345" \
      --from-literal=token="xxxx" \
      --from-literal=envs="{GOMEMLIMIT: 2048MiB}"

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值