Linux SLUB: Unable to allocate memory on node

12,670

Solution 1

Please look at this: https://pingcap.com/blog/try-to-fix-two-linux-kernel-bugs-while-testing-tidb-operator-in-k8s/. It's a kernel bug.

Solution 2

problems seems to be with kernel, first a fall check whether swap memory is properly allocated or not by free -m and mkswap -c, if swap is not properly allocated, do it. if swap is fine, then you might need to update the kernel.

Share:
12,670
Pawan Kumar
Author by

Pawan Kumar

Open-Source-Enthusiast, have deep knowledge of Linux, Kubernetes, Docker, Ansible, Terraform, AWS, GCP, Jenkins CI/CD and many more Technologies

Updated on June 18, 2022

Comments

  • Pawan Kumar
    Pawan Kumar almost 2 years

    We are getting very frequently below message in /var/log/messages

    kernel: SLUB: Unable to allocate memory on node -1 (gfp=0x8020)
    

    In some cases followed by an allocation table

    kernel:    cache: sigqueue(12019:454c4ebd186d964699132181ad7367c669700f7d8991c47d4bc053ed101675bc), object size: 160, buffer size: 160, default order: 0, min order: 0
    kernel:    node 0: slabs: 57, objs: 23313, free: 0
    kernel:    node 1: slabs: 35, objs: 14315, free: 0
    

    Ok, free is 0, but how may this be tuned?

    Following is set information


    OS - Centos7.3
    Kernel - 3.10.0-327.36.3.el7.x86_64
    Docker - 1.12.6
    Kubernetes - 1.5.5
    

    We have private cloud powered by kurbernetes, having 10 nodes; it was working fine till last month and now we are getting these alerts very frequently on every nodes, pods/container also increased in last few days.

    We have enough memory and cpu available on each node.

    Any fine tuning for these alert will be very helpful.

    Additional information: sysctl.conf options

    net.ipv4.tcp_timestamps = 0 
    net.ipv4.tcp_max_syn_backlog = 4096 
    net.core.somaxconn = 1024 
    net.ipv4.tcp_syncookies = 1 
    net.core.rmem_max = 16777216 
    net.core.wmem_max = 16777216 
    net.core.rmem_default = 65535 
    net.core.wmem_default = 65535 
    net.ipv4.tcp_rmem = 4096 87380 16777216 
    net.ipv4.tcp_wmem = 4096 65536 16777216 
    net.ipv4.ip_local_port_range = 1024 65535 
    vm.max_map_count = 262144 
    vm.swappiness=10 
    vm.vfs_cache_pressure=100