4
回答
Ubuntu 下的 RCUOB 进程是干嘛的?
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

Ubuntu 14.04 系统上发现很多 RCUOB 进程,这些进程是干嘛的?好多啊!

8 root      20   0       0      0      0 R  0.0  0.0   0:00.25 rcuos/0    9 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuos/1
   10 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuos/2
   11 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuos/3
   12 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuos/4
   13 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuos/5
   14 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuos/6
   15 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuos/7
   16 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuos/8
   17 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuos/9
   18 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuos/10
   19 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuos/11
   20 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuos/12
   21 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuos/13
   22 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuos/14
   23 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuos/15
   24 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuos/16
   25 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuos/17
   26 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuos/18
   27 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuos/19
   28 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuos/20
   29 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuos/21
   30 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuos/22
   31 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuos/23
   32 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuos/24
   33 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuos/25   
   73 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/0
   74 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/1
   75 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/2
   76 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/3
   77 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/4
   78 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/5
   79 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/6
   80 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/7
   81 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/8
   82 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/9
   83 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/10
   84 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/11
   85 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/12
   86 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/13
   87 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/14
   88 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/15
   89 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/16
   90 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/17
   91 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/18
   92 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/19
   93 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/20
   94 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/21
   95 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/22
   96 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/23
   97 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/24
   98 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/25
   99 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/26
  100 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/27
  101 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/28
  102 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/29
举报
红薯
发帖于3年前 4回/7K+阅
共有4个答案 最后回答: 3年前

引用来自“Feng_Yu”的评论

http://askubuntu.com/questions/523025/top-showing-a-bunch-of-rcuos-processes

askubuntu上也有人问这个问题。不过我的ubuntu server上还从没见过这个进程


比如我的Ubuntu桌面就有8个rcuos和8个rcuob.可以看到它们的PID是连续的,父进程都是PID为2的kthreadd,它们跟父进程kthreadd一样,占用的内存(REM)为0,都是内核线程. rcuob/%d, rcuop/%d, rcuos/%d 这些内核进程的作用是从相应的CPU卸载RCU回调(callback).

附:
RCU(Read-Copy Update)是内核从2.6正式加入的锁机制.
对于被RCU保护的共享数据结构,读者不需要获得任何锁就可以访问它,但写者在访问它时首先拷贝一个副本,然后对副本进行修改,最后使用一个回调(callback)机制在适当的时机把指向原来数据的指针重新指向新的被修改的数据,这个时机就是所有引用该数据的CPU都退出对共享数据的操作.RCU锁机制的使用范围比较窄,它只适用于读多写少的情况,如网络路由表的查询更新、设备状态表的维护、数据结构的延迟释放以及多径I/O设备的维护等.

kthreadd的作用是管理调度其它的内核线程(kthreads),比如上面的rcuos和rcuob,kthreadd不是init的子进程.
内核线程这种进程的特殊之处在于它只在内核态运行.
https://www.kernel.org/doc/Documentation/kernel-per-CPU-kthreads.txt

Name: rcuob/%d, rcuop/%d, and rcuos/%d
Purpose: Offload RCU callbacks from the corresponding CPU.
To reduce its OS jitter, do at least one of the following:
1.    Use affinity, cgroups, or other mechanism to force these kthreads
    to execute on some other CPU.
2.    Build with CONFIG_RCU_NOCB_CPU=n, which will prevent these
    kthreads from being created in the first place.  However, please
    note that this will not eliminate OS jitter, but will instead
    shift it to RCU_SOFTIRQ.

http://askubuntu.com/questions/523025/top-showing-a-bunch-of-rcuos-processes

askubuntu上也有人问这个问题。不过我的ubuntu server上还从没见过这个进程

顶部