云原生
文章平均质量分 93
云原生
小小角色熊
横看成岭侧成峰,远近高低各不同
展开
-
CPU深度解析
即cpu的运行是一个频繁的从内存中读写数据和指令的过程。假设cpu严格顺序执行,如果连续的三条指令,第一条指令执行完后需要从内存获取数据,那么cpu需要等99个时间周期来等待内存数据读取(这里假设:cpu的速度是内存的100倍)。则在一个cpu的情况下,有一个线程的时候cpu只有50%的时间被利用上。线程:线程是动态的概念,是可执行的计算任务。进程:进程是静态的概念,程序进入内存,分配对应资源,内存空间,进程进入内存,同时产生一个主线程。操作系统的cpu多线程分时系统,线程的切换需要保存现存,保存上下文。原创 2023-08-27 16:51:36 · 186 阅读 · 0 评论 -
Kubernetes关于cpu资源分配的设计
例如:两个容 器 A、B 的 CPU 份额分别为 1000 和 500,在CPU进行时间片分配的时候,容器A比容器B多一倍的机会获得 CPU 的时间片。比如容器A的进程一直是空闲的,那么容器B是可以获取比容器A更多的CPU时间片的。根据上述,我们知道2核2线程的CPU,可被系统识别为4个逻辑CPU,在K8s中对CPU的分配限制是通过cgroup对逻辑CPU做分片限制的。cpu核心是CPU的重要组成部件,在内核频率、缓存大小等条件相同的情况下,CPU核心数量越多,CPU的整体性能越强。原创 2023-08-06 12:18:16 · 905 阅读 · 0 评论 -
NUMA架构在kubernetes中的应用
对于cpu来说,这种分配方式并不会有太大问题,因为cpu可以灵活调度,numa调度时我们只计算绑定了numa cpu的pod是可以接受的,但是对于内存来说,numa node上申请了的内存无法做到随时迁移,这就会导致调度器视角numa node的mem资源足够,但是等到pod真正使用时,由于没有绑定numa node的pod申请的内存,导致numa node的mem资源不足,造成swap中断或者远端内存申请,这会对绑定mem的pod来带来性能损耗。忽略了没有绑定numa node的pod资源。原创 2023-07-30 12:45:12 · 1106 阅读 · 0 评论 -
Linux NUMA架构(非统一内存访问)
在这种情况下cpu仍然可以访问所有的内存,但速度是不一样的,访问自己的内存位比访问连接到其它cpu的内存位会更快。在云计算环境中云服务拥有大量的的服务器和内存,这些资源是聚合的可供用户使用,当部署工作负载时,cpu和内存通常时随机分配的,在基础架构级别内存和cpu可以从同一台或者多台服务器分配。缺点:多个cpu通过单一的总线连接到一个大内存,该总线显然会成为cpu的性能瓶颈,会出现cpu等待数据的情况。通过NUMA架构,并提供NUMA微调,可以根据工作负载的NUMA拓扑来分配工作负载的cpu、内存。原创 2023-07-30 10:57:48 · 1715 阅读 · 0 评论