আমি উপরে যে rcuos / rcuob প্রক্রিয়াগুলি দেখছি তা কী কী?


59

আমি শীর্ষে চলে এসেছি এবং আমি প্রচুর rcuos / rcuob প্রক্রিয়া দেখতে পাচ্ছি। শীর্ষ ফলাফলের একটি নমুনা এখানে:

top - 21:41:15 up 22 days, 19:20,  1 user,  load average: 0.00, 0.01, 0.05
Tasks: 332 total,   1 running, 331 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.0%sy,  0.0%ni, 99.9%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  32910904k total,  2232224k used, 30678680k free,   246636k buffers
Swap: 33517564k total,        0k used, 33517564k free,  1048244k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 3098 root      20   0 11.8g 113m 9.9m S    1  0.4  67:57.98 asterisk
   12 root      20   0     0    0    0 S    0  0.0   0:53.61 rcuos/3
 1130 root      39  19     0    0    0 S    0  0.0  78:26.78 kipmi0
 1735 root      20   0 15988  740  540 S    0  0.0  17:34.69 irqbalance
 1875 zabbix    20   0 89416 2472 1828 S    0  0.0  12:55.47 zabbix_agentd
    1 root      20   0 24316 2288 1336 S    0  0.0   0:05.06 init
    2 root      20   0     0    0    0 S    0  0.0   0:00.25 kthreadd
    3 root      20   0     0    0    0 S    0  0.0   0:02.40 ksoftirqd/0
    5 root       0 -20     0    0    0 S    0  0.0   0:00.00 kworker/0:0H
    6 root      20   0     0    0    0 S    0  0.0   0:00.00 kworker/u48:0
    8 root      20   0     0    0    0 S    0  0.0   4:55.92 rcu_sched
    9 root      20   0     0    0    0 S    0  0.0   1:31.03 rcuos/0
   10 root      20   0     0    0    0 S    0  0.0   0:54.04 rcuos/1
   11 root      20   0     0    0    0 S    0  0.0   0:53.16 rcuos/2
   13 root      20   0     0    0    0 S    0  0.0   0:45.96 rcuos/4
   14 root      20   0     0    0    0 S    0  0.0   0:41.84 rcuos/5
   15 root      20   0     0    0    0 S    0  0.0   0:02.56 rcuos/6
   16 root      20   0     0    0    0 S    0  0.0   0:07.25 rcuos/7
   17 root      20   0     0    0    0 S    0  0.0   0:12.06 rcuos/8
   18 root      20   0     0    0    0 S    0  0.0   0:12.14 rcuos/9
   19 root      20   0     0    0    0 S    0  0.0   0:11.21 rcuos/10
   20 root      20   0     0    0    0 S    0  0.0   0:05.66 rcuos/11
   21 root      20   0     0    0    0 S    0  0.0   1:39.42 rcuos/12
   22 root      20   0     0    0    0 S    0  0.0   0:35.66 rcuos/13
   23 root      20   0     0    0    0 S    0  0.0   0:26.46 rcuos/14
   24 root      20   0     0    0    0 S    0  0.0   0:00.88 rcuos/15
   25 root      20   0     0    0    0 S    0  0.0   0:00.30 rcuos/16
   26 root      20   0     0    0    0 S    0  0.0   0:31.93 rcuos/17
   27 root      20   0     0    0    0 S    0  0.0   0:18.58 rcuos/18
   28 root      20   0     0    0    0 S    0  0.0   0:20.53 rcuos/19
   29 root      20   0     0    0    0 S    0  0.0   0:44.95 rcuos/20
   30 root      20   0     0    0    0 S    0  0.0   0:01.92 rcuos/21
   31 root      20   0     0    0    0 S    0  0.0   0:00.24 rcuos/22
   32 root      20   0     0    0    0 S    0  0.0   0:05.01 rcuos/23
   33 root      20   0     0    0    0 S    0  0.0   0:00.00 rcu_bh
   34 root      20   0     0    0    0 S    0  0.0   0:00.00 rcuob/0
   35 root      20   0     0    0    0 S    0  0.0   0:00.00 rcuob/1
   36 root      20   0     0    0    0 S    0  0.0   0:00.00 rcuob/2
   37 root      20   0     0    0    0 S    0  0.0   0:00.00 rcuob/3
   38 root      20   0     0    0    0 S    0  0.0   0:00.00 rcuob/4
   39 root      20   0     0    0    0 S    0  0.0   0:00.00 rcuob/5
   40 root      20   0     0    0    0 S    0  0.0   0:00.00 rcuob/6
   41 root      20   0     0    0    0 S    0  0.0   0:00.00 rcuob/7
   42 root      20   0     0    0    0 S    0  0.0   0:00.00 rcuob/8
   43 root      20   0     0    0    0 S    0  0.0   0:00.00 rcuob/9
   44 root      20   0     0    0    0 S    0  0.0   0:00.00 rcuob/10
   45 root      20   0     0    0    0 S    0  0.0   0:00.00 rcuob/11
   46 root      20   0     0    0    0 S    0  0.0   0:00.00 rcuob/12
   47 root      20   0     0    0    0 S    0  0.0   0:00.00 rcuob/13
   48 root      20   0     0    0    0 S    0  0.0   0:00.00 rcuob/14
   49 root      20   0     0    0    0 S    0  0.0   0:00.00 rcuob/15
   50 root      20   0     0    0    0 S    0  0.0   0:00.00 rcuob/16
   51 root      20   0     0    0    0 S    0  0.0   0:00.00 rcuob/17
   52 root      20   0     0    0    0 S    0  0.0   0:00.00 rcuob/18
   53 root      20   0     0    0    0 S    0  0.0   0:00.00 rcuob/19
   54 root      20   0     0    0    0 S    0  0.0   0:00.00 rcuob/20
   55 root      20   0     0    0    0 S    0  0.0   0:00.00 rcuob/21
   56 root      20   0     0    0    0 S    0  0.0   0:00.00 rcuob/22
   57 root      20   0     0    0    0 S    0  0.0   0:00.00 rcuob/23
   58 root      RT   0     0    0    0 S    0  0.0   0:00.87 migration/0
   59 root      RT   0     0    0    0 S    0  0.0   0:08.47 watchdog/0
   60 root      RT   0     0    0    0 S    0  0.0   0:08.41 watchdog/1

এই প্রক্রিয়াগুলি কি কি?


আমার ধারণা এই প্রক্রিয়াগুলি আরসিইউ সম্পর্কিত কার্নেল প্রক্রিয়া । এখানে দরকারী লিঙ্কটি রয়েছে: লিনাক্স কার্নেলটি কনফিগার করার সময় আরসিইউ বোঝা এবং আপনার এখানে যেমন প্রশ্ন রয়েছে তেমন প্রশ্ন ।
লেট

@ সোনিকোবুম - ভাল পোস্টিং - কোনও কোডার কিছু কোড করতে সক্ষম কিনা সে সম্পর্কে এটি কীভাবে দেখার-সরঞ্জামেরও এক ধরণের হতে পারে? (আইবিএম লিখেছেন?) ... - স্নোডেনের পক্ষে এটি কি নতুন ঘটনা?
dschinn1001

উত্তর:


40

এটি ব্যাখ্যা করার মূল নিবন্ধটি এখানে: https://lwn.net/Articles/522262/

দ্রুত সিঙ্ক্রোনাইজেশনের জন্য, কার্নেলের অনেক কাঠামো হ'ল "আরসিইউ", বা পঠন-অনুলিপি-আপডেট। অনেকগুলি থ্রেড ব্লকিং ছাড়াই একসাথে পড়তে পারে এবং থ্রেডগুলি যে কাঠামোগত পরিবর্তন করতে চায় তা প্রাসঙ্গিক ডেটাটি কোনও নতুন স্থানে অনুলিপি করে এবং রেফারেন্স ("অপসারণ") পরিবর্তন করে তা করতে পারে। তবে, পুরানো ডেটা অবশ্যই আরও কিছু সময়ের জন্য বেঁচে থাকতে হবে যাতে থ্রেডগুলি পড়া তাদের কাজ শেষ করতে পারে। যখন পুরানো ডেটাতে আর পাঠকরা এতে কাজ করেন না, অবশেষে এটি মোছা যায় ("পুনঃনির্মাণ")।

Rcuos, rcuob থ্রেডগুলি এই প্রক্রিয়াটির পুনঃনির্মাণ অংশটি পরিচালনা করার জন্য রয়েছে। এটি সফ্টওয়্যার আইআরকিউর অংশ হিসাবে পরিচালিত হত, যার অর্থ এটি ইনপোর্টটিউন সময়ে গুরুত্বপূর্ণ ব্যবহারকারী প্রক্রিয়া থেকে প্রসেসরের শক্তি সরিয়ে নিতে পারে। এটিকে উত্সর্গীকৃত আরসিইউ ** থ্রেডগুলিতে নিয়ে যাওয়ার মাধ্যমে, এই পুনঃনির্মাণ প্রক্রিয়াটি কম হস্তক্ষেপ করার জন্য সিস্টেমটি টিউন করা যেতে পারে।

ওএস জিটার হ্রাস করা এই থ্রেডগুলির উদ্দেশ্য নয়, যদিও এটি উপস্থিত থাকার মূল কারণ হতে পারে।


16

উবুন্টুফর্মগুলি অনুসারে তারা "হ্রাস ওএস জিটার" থেকে আসছে যা নিম্নলিখিত কার্নেল পতাকা দ্বারা চালু করা হয়েছে

CONFIG_RCU_NOCB_CPU
CONFIG_RCU_NOCB_CPU_ALL
CONFIG_RCU_STALL_COMMON
CONFIG_RCU_USER_QS

১৩.১০ (Sauce) থেকে তারা ডিফল্টরূপে সক্ষম হয় are

দেখা:

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.