文章标题

参考资源限制方法两种

资源限制针对 docker daemon  ( 不针对 contrainer )
资源限制针对 docker contrainer  (针对 contrainer 及 contrainer 下所有的进程 )

针对进程, 用户资源限制

针对系统内核进行优化:

/etc/sysctl.conf
fs.file-max=3836960

针对用户资源限制

 /etc/security/limits.d/25-nofile.conf
root            soft  nofile  196605
root            hard  nofile  196605
*               soft  nofile  196605
*               hard  nofile  196605

效果如下

[root@docker-ovs01 ~]# ulimit -n
196605
[root@docker-ovs01 ~]# ps
PID TTY          TIME CMD
2864 pts/0    00:00:00 bash
[root@docker-ovs01 ~]# cat /proc/2864/limits
Limit                 Soft Limit           Hard Limit           Units
Max open files            196605               196605           files

docker 进程资源限制

/usr/lib/systemd/system/docker.service
[Service]
LimitMEMLOCK=1288490188800
LimitSTACK=infinity
LimitNPROC=infinity
LimitNOFILE=196605
LimitCORE=infinity

效果如下 (参考 nofile, memlock 设定 )

[root@docker-ovs01 ~]# ps aux | grep /usr/bin/docker
root      3133  0.1  0.7 510716 28068 ?        Ssl  16:03   0:00 /usr/bin/docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --cluster-store=etcd://192.168.209.40:2379,192.168.209.41:2379,192.168.209.42:2379 --default-ulimit nofile=1310720 --default-ulimit memlock=128849018880 --default-ulimit core=-1 --default-ulimit nproc=-1 --default-ulimit stack=-1 --storage-driver devicemapper --storage-opt dm.fs=xfs --storage-opt dm.thinpooldev=/dev/mapper/docker--vg-docker--pool --storage-opt dm.use_deferred_removal=true --storage-opt dm.use_deferred_deletion=true --storage-opt dm.basesize=50G --add-registry registry.vclound.com:5000 --insecure-registry registry.vclound.com:5000
[root@docker-ovs01 ~]# cat /proc/3133/limits
Limit                     Soft Limit           Hard Limit          Units
Max open files                196605               196605          files
Max locked memory      1288490188800        1288490188800          bytes

针对 docker contrainer 资源限制设定

/usr/bin/docker daemon  ....... --default-ulimit nofile=131072 --default-ulimit memlock=128849018880 --default-ulimit core=-1 --default-ulimit nproc=-1 --default-ulimit stack=-1 ..... 

启动 docker contrainer, docker 下生成的进程,

docker run -d -ti  registry.vclound.com:5000/hyphenwang/sshdserver:v1

效果

[root@docker-ovs01 ~]# ps aux | grep sup
root      3722  0.2  0.3 102328 12248 pts/3    Ss+  16:53   0:00 /usr/bin/python /usr/bin/supervisord -c /etc/supervisord.conf
[root@docker-ovs01 ~]# cat /proc/3722/limits
Limit                       Soft Limit           Hard Limit           Units
Max open files                  131072               131072           files
Max locked memory         128849018880         128849018880           bytes

总结

对象 配置对象 作用 针对性
物理机 /etc/sysct.conf + /etc/security/limits.conf 针对物理机上进程资源 (limits) ( = 物理机上所有 PID )
docker.service 限制 /usr/bin/docker daemon 进程启动时候 /proc/PID/limits 资源 docker 主进程
/usr/bin/docker daemon ……. –default-ulimit nofile=131072 –default-ulimit memlock=128849018880 –default-ulimit core=-1 –default-ulimit nproc=-1 –default-ulimit stack=-1 命令启动时配置 限制了 contrainer 中的进程 docker 子进程
优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/70821

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。