kubernetes 管理内存大页 HugePages

查看系统中内存大页的配置

cat /proc/meminfo | grep Huge
AnonHugePages:     96256 kB
ShmemHugePages:        0 kB
FileHugePages:         0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
Hugetlb:               0 kB

动态调整内存大页配置

$ echo 128 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
$ echo 16 > /sys/kernel/mm/hugepages/hugepages-1048576kB/nr_hugepages

查看

cat /proc/meminfo | grep Huge
AnonHugePages:    100352 kB
ShmemHugePages:        0 kB
FileHugePages:         0 kB
HugePages_Total:     128
HugePages_Free:      128
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
Hugetlb:        17039360 kB

查看 kubernetes nodes 资源

查看nodes节点是否分配大页资源,如下可见,内存大页的资源为0

kubectl describe nodes dd1
Capacity:
  cpu:                40
  ephemeral-storage:  575646864Ki
  hugepages-1Gi:      0
  hugepages-2Mi:      0
  memory:             527959648Ki
  pods:               110
Allocatable:
  cpu:                40
  ephemeral-storage:  530516148985
  hugepages-1Gi:      0
  hugepages-2Mi:      0
  memory:             527857248Ki
  pods:               110

重启kubelet 服务,再查看 nodes 的信息,可见内存大页资源已分配

kubectl describe nodes dd1
Capacity:
  cpu:                40
  ephemeral-storage:  575646864Ki
  hugepages-1Gi:      16Gi
  hugepages-2Mi:      256Mi
  memory:             527959648Ki
  pods:               110
Allocatable:
  cpu:                40
  ephemeral-storage:  530516148985
  hugepages-1Gi:      16Gi
  hugepages-2Mi:      256Mi
  memory:             510817888Ki
  pods:               110

配置pod 使用内存大页

apiVersion: v1
kind: Pod
metadata:
  name: huge-pages-example
spec:
  containers:
  - name: example
    image: fedora:latest
    command:
    - sleep
    - inf
    volumeMounts:
    - mountPath: /hugepages-2Mi
      name: hugepage-2mi
    - mountPath: /hugepages-1Gi
      name: hugepage-1gi
    resources:
      limits:
        hugepages-2Mi: 100Mi
        hugepages-1Gi: 2Gi
        memory: 100Mi
      requests:
        memory: 100Mi
  volumes:
  - name: hugepage-2mi
    emptyDir:
      medium: HugePages-2Mi
  - name: hugepage-1gi
    emptyDir:
      medium: HugePages-1Gi

pod 启动之后,查看挂载信息

Mounts:
      /hugepages-2Mi from hugepage-2mi (rw)
Volumes:
  hugepage-2mi:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:     HugePages-2Mi
    SizeLimit:  <unset>

如上,pod 即可使用内存大页资源

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值