• 伟平
    2020-12-07
    k8s下容器貌似不能用swap

    作者回复: kubelet缺省不能在打开swap的节点上运行。 配置“failSwapOn: false”参数,kubelet可以在swap enabled的节点上运行。

    共 2 条评论
    19
  • 莫名
    2020-12-07
    Memory Cgroup 参数 memory.swappiness 起到局部控制的作用,前提是节点开启了 swap 功能,不然无论如何设置都无济于事。

    作者回复: @莫名, 没错

    
    9
  • Khirye
    2020-12-11
    想问下老师,对于最近k8s宣布放弃docker有什么看法?

    作者回复: 对于k8s来说,的确没有必要再用docker了。 这是我们组之前做的从docker切换到containerd的技术分享: https://www.infoq.cn/article/odslclsjvo8bnx*mbrbk

    共 2 条评论
    8
  • kimoti
    2020-12-07
    既然memory.swappiness设置为0了,Swap分区是不会有数据写入的。

    作者回复: @kimoti 是的

    共 2 条评论
    7
  • po
    2020-12-15
    老师,文章中你说的这两句话好像是矛盾的,swappiness设置为0的时候,到底会不会回收匿名内存呢? 1. 不过,这里有一点不同,需要你留意:当 memory.swappiness = 0 的时候,对匿名页的回收是始终禁止的,也就是始终都不会使用 Swap 空间。这时 Linux 系统不会再去比较 free 内存和 zone 里的 high water mark 的值,再决定一个 Memory Cgroup 中的匿名内存要不要回收了。请你注意,当我们设置了"memory.swappiness=0 时,在 Memory Cgroup 中的进程,就不会再使用 Swap 空间,知道这一点很重要. 2. 值为 0 的时候,当系统中空闲内存低于一个临界值的时候,仍然会释放匿名内存并把页面写入 Swap 空间。

    作者回复: 1. memory.swappiness 是指cgroup中的参数 2. 这里说的是/proc/sys/vm/swappiness

    共 4 条评论
    2
  • haha
    2020-12-15
    所以对于开启了swap,且swap空间够大的前提下,goup的mem limit没用咯?

    作者回复: 是的, 如果只是设置 memory.limit_in_bytes

    
    2
  • Geek4329
    2020-12-07
    感谢老师的分享,学习的越多,越感到自己的自信😼 学完这个课程,并完全吸收的话,是不是可以说自己接近精通容器技术了😁

    作者回复: @Geek4329 很高兴我的分享对你有帮助!

    
    2
  • chong chong
    2021-05-11
    老师,k8s pod默认的memory.swappiness 值是60,如何设置才能使得默认是0呢?

    作者回复: 可以修改kube代码

    
    1
  • 谢哈哈
    2020-12-07
    已经设置memory.swappiness参数,全局参数swappiness参数失效,那么容器里就不能使用swap了

    作者回复: @谢哈哈 是的

    
    1
  • 刘宏
    2021-10-03
    请问一下在容器里如何加快page cache的释放速度,原因是发现scp的时候,page cache会很快将内存占满,速度会骤然下降,drop cache以后,速度能显著提升;配置了vm.vfs_cache_pressure为1w,依旧在容器里没改善
    共 1 条评论
    1