• Action
    2020-12-25
    为什么说“云平台里呢,大部分程序都不是实时调度的进程,而是普通调度(SCHED_NORMAL)类型进程”?这块不是很明白

    作者回复: 进程如果设置为SCHED_FIFO 或者SCHED_RR实时调度类型,那么只要进程任务不结束,就不会把cpu资源让给SCHED_NORMAL进程。这种实时的进程,在实时性要比较高的嵌入式系统中会用到,但是云平台中提供互联网服务的应用中不太会去用实时调度。

    
    13
  • 海盗船长
    2020-11-25
    老师,不太明白 “Request CPU就是无论其他容器申请多少 CPU 资源,即使运行时整个节点的 CPU 都被占满的情况下,我的这个容器还是可以保证获得需要的 CPU 数目”,这句话改怎么理解呢?当节点cpu都被占满的情况下,我的这个容器会去抢占吗? 另外cpu.shares是个权重,如何去保证Request CPU的数量?

    作者回复: 首先这个容器已经在节点上运行了,并且其他的容器也都配置了cpu.shares。 比如shares比例, group4: group3=3:1, 在一个4个CPU的节点上,我们先不用考虑limit, 对于group4,如果没有group3的程序运行,那么group4里的4个线程运行的时候可以占用4个CPU。当group3里的2个线程也运行起来了,即使2个线程最大可以消耗2个CPU,但是由于有了shares比例分配,那么group4里的线程仍然可以保证有3个CPU, 而分配给group3的只有1个CPU。 cpu.shares是个相对值,但是在Linux节点上一般的约定是以值1024为1个CPU的比例,当所有的配置都遵守这个约定的时候,那么给值N*1024, 就表示N个CPU的数量了。

    共 2 条评论
    5
  • 言希
    2021-04-29
    请问老师,我在环境上遇到 cpu.cfs_quota_us 取值为 -1 的,这种是不是代表的不限制CPU的使用 ?

    作者回复: 对的,不限制。

    
    3
  • Action
    2020-12-25
    老师,假如我有10个节点,每个节点的cpu核心数是40,只是调度pod,那么limit.cpu 可以设置为400吧?

    作者回复: 一个pod只能在一个节点上运行,如果一个节点上的cpu是40, 那么limit.cpu最大只能是40

    
    3
  • 瓜蛋
    2020-11-29
    请问下关于wa和hi/si的问题: 1. 例子中,wa是等待磁盘IO的状态,那等待网络IO时,是不是wa呢? 2. 例子中,hi/si是收到网卡中断,那收到磁盘中断时,是不是也是hi/si?

    作者回复: 网络I/O 没有wa状态部分。 hi/si 对于磁盘都是有的。

    
    3
  • 谦寻
    2020-12-07
    老师,您好,如果一个容器里面有多个进程,这个限制是针对所有进程,还是只是pid是1的进程?

    作者回复: 一般对于容器,是一个cgroup控制组里限制容器中的所有进程。

    
    2
  • 不二
    2021-01-14
    请问老师,cpu.rt_runtime_us一般是不是用不上,Linux系统中哪些程序会被配置为实时调度程序呢?如果没有实时调度程序这个参数也就没有了存在的必要吧

    作者回复: 一些嵌入式实时的程序需要实时调度的

    
    1
  • *
    2022-02-27
    老师, threads-cpu这个脚本能提供吗

    作者回复: 文稿里有链接的。 https://github.com/chengyli/training/tree/main/cpu/cgroup_cpu

    共 2 条评论
    
  • Geek_ce0af4
    2021-08-30
    评论区太精彩

    编辑回复: 后面高能更多~加油

    
    
  • 马成
    2021-07-22
    软中断我理解就是内部中断,系统调用是其中的一种。那么sy内核时间指的是系统调用时间么?si软中断时间包含系统调用时间么?我被搞糊涂了……

    作者回复: softirq 指 bottom half of interrupt, 是中断处理的一部分, 和系统调用是两个概念。 可以找一本Linux kernel的书籍看一下,比如Linux kernel development.

    共 2 条评论
    