核心内容摘要
影墨·今颜模型在C语言课程设计中的创新应用
文章目录Docker容器隔离
namespace-进程通信限制
cgroups-资源限制资源隔离参数示例资源隔离使用方式cgroups四大功能测试时注意
总结✨✨✨学习的道路很枯燥希望我们能并肩走下来编程真是一件很奇妙的东西。
你只是浅尝辄止那么只会觉得枯燥乏味像对待任务似的应付它。
但你如果深入探索就会发现其中的奇妙了解许多所不知道的原理。
知识的力量让你沉醉甘愿深陷其中并发现宝藏。
本文开始Docker容器隔离
namespace-进程通信限制命名空间简介命名空间是 Linux 内核提供的一种机制用于将系统资源如进程、网络、文件系统等隔离开来使得在一个命名空间中的资源对其他命名空间不可见或不可访问。
namespace 是 linux 中用来隔离进程的手段容器就是使用该技术来进行隔离的。
可以把进程当做是对讲机而 namespace 就是频段。
两个对讲机进程要互相通信就需要调整到相同的频段上namespace。
namespace进程间通信隔离#
启动一个容器#
进入虚拟文件系统查看进程信息# proc文件夹下会有多个名称是数字的文件夹-每个数字文件夹就是一个进程cd/proc/5131#
进入进程信息文件夹包含容器中各种命名空间cdns进程文件夹命名空间信息根据命名空间隔离的内容如下ipc: 进程间通信命名空间mnt文件挂载命名空间net: 网络命名空间pid: 进程id名称空间user: 用户名称空间故障注入可以使用到命名空间
cgroups-资源限制cgroups 是 linux 用来限制进程使用资源的手段。
容器也是利用这个技术进行资源的隔离。
#查看当前系统的 cgroupsmount-t cgroupscgroups: 资源隔离资源隔离参数示例资源类型Docker 参数示例作用CPU--cpus
5或--cpu-quota最多使用
5 个 CPU 核心内存-m 2g或--memory2048m最多使用 2GB 内存超了会被 kill磁盘 IO--blkio-weight限制磁盘读写速度进程数--pids-limit100最多只能起 100 个进程资源隔离使用方式使用方式在docker run启动容器时指定参数即可如-m, -cpus资源隔离一般限制内存和cpu# 在容器运行时直接使用参数指定资源限制# 限制内存512兆cpu两核dockerrun --namenginx -d -m 512m --cpus2nginx【注】k8s通过cgroups计算剩余资源编写简单脚本计算剩余资源但也是使用的cgroupscgroups四大功能资源限制可以对任务使用的资源总额进行限制。
优先级分配通过分配cpu时间片数量以及磁盘IO带宽大小实际上相当于控制了任务运行 优先级。
资源统计可以统计系统的资源使用量如cpu时长内存用量等。
任务控制cgroups可以对任务执行挂起恢复等操作。
测试时注意概念作用测试场景Namespace隔离环境多版本并行测试、避免端口/进程冲突Cgroups限制资源模拟弱机环境、防止资源耗尽、稳定性测试场景你能做什么故障注入人为限制内存/CPU观察系统降级或告警是否正常性能测试确保测试容器不会吃光宿主机资源影响其他任务日志/监控通过/sys/fs/cgroup/查看容器实际资源消耗高级
总结✨✨✨各位读友本篇分享到内容是否更好的帮助你理解如果对你有帮助给个赞鼓励一下吧世上没有绝望的处境只有对处境绝望的人。
一遇挫折就灰心丧气的人永远是个失败者。
而一向努力奋斗坚韧不拔的人会走向成功。
感谢每一位一起走到这的伙伴我们可以一起交流进步一起加油吧