弹性云服务器 ECS弹性云服务器 ECS

文档首页> 弹性云服务器 ECS> 故障排除> 网络配置> NetworkManager在运行docker容器时占用大量内存怎么办?
更新时间:2021/09/17 GMT+08:00
分享

NetworkManager在运行docker容器时占用大量内存怎么办?

问题现象

在运行多个docker容器的环境下NetworkManager服务占用内存很大,导致内存使用率过高。

  • 本节操作适用于CentOS 7、Ubuntu 16.04操作系统。
  • 该文档涉及重启网络服务,可能会造成业务中断,请谨慎操作。

问题分析

NetworkManager消耗的内存量随着容器启动/停止的每次迭代而增加,即使在所有容器已被停止和删除之后也不会减少。

处理方法

短期处理方法:

执行以下命令重启NetworkManager服务。

# systemctl restart NetworkManager

长期处理方法:

  • CentOS 7操作系统云服务器

    执行以下命令停止NetworkManager服务,改用network管理网络

    # systemctl disable NetworkManager

    # /sbin/chkconfig network on

    # kill `pgrep -o dhclient`

    # systemctl stop NetworkManager

    # systemctl start network

    出现network启动失败可能为系统内置多网卡配置文件导致,处理方法参考多网卡配置文件导致network启动失败处理

  • Ubuntu16.04操作系统
    1. 执行以下命令使用networking管理网络。

      # systemctl disable NetworkManager

      # systemctl disable network-manager

      # systemctl enable networking

      # kill `pgrep -o dhclient`

      # systemctl stop NetworkManager

      # systemctl start networking

    2. 启用networking服务,一定要检查interfaces文件中是否设置网络配置为DHCP模式。

      vi /etc/network/interfaces

      若只有一个网卡eth0则可以检查或增加:

      auto eth0
      iface eth0 inet dhcp
      图1 设置网络配置为DHCP模式
分享:

    相关文档

    相关产品