Kworker, එය කුමක්ද සහ එය මෙතරම් CPU එකකට පැටලෙන්නේ ඇයි?


153

මම මෑතකදී කුබුන්ටු නට්ටි බීටා 1 වෙත යාවත්කාලීන කරන ලද අතර ක්‍රියාවලි kworker සමඟ මට ගැටලු රාශියක් තිබේ. මේ මොහොතේ එය මගේ CPU වලින් අඩක් පමණ භාවිතා කරයි. එසේම, පුදුමයට කරුණක් නම් එය මගේ USB පෝට් වලට බලපාන බව පෙනේ; මම USB ධාවකයක් සම්බන්ධ කරන සෑම විටම, kworker ක්‍රියාවලිය හයිපර් ඩ්‍රයිව් වෙතට ගොස් මට වැඩ කිරීමට නොහැකි වේ.

මම දෝෂයක් ගොනු කිරීම ගැන කල්පනා කර ඇති නමුත් kworker යනු කුමක්ද යන්න පිළිබඳව සාධාරණ පැහැදිලි කිරීමක් පවා මා සතුව නොමැති බැවින් මම මුලින්ම සොයා ගත යුතුය.


අමුතු, kworker 10% කින් අවදි වීමට දායක වන නමුත් මට කුබුන්ටු වැඩසටහන් ස්ථාපනය කර නොමැත. Alos Nepomuk ස්ථාපනය කර නැත.
dago

1
අෆ්රාසියර්ගේ ප්‍රතිචාරයෙන් මම දැන් සිතන්නේ එයට කර්නලය සමඟ යම් සම්බන්ධයක් ඇති බවය (එබැවින් kworker හි k යනු කර්නලය සඳහා වේ). ඔබේ උබුන්ටු යන්ත්‍රය මත kworker ධාවනය කිරීමට ඔබට අවශ්‍ය වන්නේ එබැවිනි.
davorao

1
Kworker කරන්නේ කුමක්දැයි සොයා ගැනීමටද මෙම පිළිතුර ප්‍රයෝජනවත් විය හැකිය: unix.stackexchange.com/questions/22851/…
anarcat

1
ඔබ අවසන් මෙහෙයුම් පද්ධතිය යාවත්කාලීන නොකළ යුතුව තිබුණි. ඔබ වාසනාවන්ත නම්, ඊළඟ තැනැත්තා එය නිවැරදි කරනු ඇත.
නොබාර්

Answers:


115

"kworker" යනු කර්නල් සේවක නූල් සඳහා ස්ථානගත කිරීමේ ක්‍රියාවලියක් වන අතර එය කර්නලය සඳහා සත්‍ය සැකසුම් බොහොමයක් සිදු කරයි, විශේෂයෙන් බාධා කිරීම්, ටයිමර්, I / O යනාදිය ඇති අවස්ථාවන්හිදී. පද්ධතිය "ක්‍රියාවලි ක්‍රියාත්මක කිරීමට කාලයයි. එය කිසියම් ආකාරයකින් පද්ධතියෙන් ආරක්ෂිතව ඉවත් කළ හැකි දෙයක් නොවන අතර එය නෙපොමුක් හෝ කේඩීඊ සමඟ සම්පුර්ණයෙන්ම සම්බන්ධ නොවේ (මෙම වැඩසටහන් මඟින් පද්ධති ඇමතුම් ලබා ගත හැකි අතර, කර්නලයට යමක් කිරීමට අවශ්‍ය විය හැකිය).

2.6.36 සංවර්ධනයේ ( උදාහරණ සාකච්ඡාව ) ආරම්භ වන සාපේක්ෂව නිෂ්ක්‍රීය පද්ධති සඳහා අධික ලෙස වැඩ කරන ක්‍රියාකාරකම් පිළිබඳ වාර්තා සහ 2.6.38 සමඟ ව්‍යාකූලතා සහ ගැටලු පිළිබඳ පුළුල් වාර්තා විය (මෙම වාර්තා බොහොමයක "නට්ටි" යන වචනය ඇතුළත් වුවද මම සිතමි මෙම පුද්ගලයින් 2.6.35 (උබුන්ටු 10.10 හි බෙදා හරින ලද) සහ 2.6.38 (උබුන්ටු 11.04 හි බෙදා හරින ලද) අතර කිසිදු කර්නලයක් භාවිතා නොකළ යුතුය.

එක් හෝ වෙනත් පරිශීලකයෙකු සඳහා මෙය "සවි කර" ඇති බොහෝ වාර්තා මට හමු විය. බොහෝ "නිවැරදි කිරීම්" විවිධ වර්ගවල කර්නලයේ යාවත්කාලීන කිරීම් හා සම්බන්ධ බව පෙනේ. යාවත්කාලීනය නිශ්චිත ගැටලුවකට හසු කර ගත හැකි තැන, එය බොහෝ විට වැරදි ලෙස හැසිරවීම සඳහා පැච් කර ඇති සමහර රියදුරු හෝ කර්නල් සේවාවක් ලෙස පෙනේ: කර්නලය තුළ හැසිරීමක් ඇති කළ හැකි ඉතා විශාල දේවල් ප්‍රමාණයක් ඇති බව මගේ හැඟීමයි. එය අධික kworker භාවිතය ලෙස නිරීක්ෂණය කෙරේ.

වැඩිපුර kworker ක්‍රියාකාරකම් හේතුවෙන් පද්ධතිය භාවිතයට ගත නොහැකි යැයි ඔබ සිතන්නේ නම්, අඩු දේවල් කිරීමට උත්සාහ කිරීම මම නිර්දේශ කරමි. ඔබ කිසිවක් කරන්නේ නැතැයි ඔබ සිතන්නේ නම්, දිගු කාලීන සේවාවන් හෝ ටයිමර්ස් (RSS පා readers කයින්, තැපැල් කියවනයන්, ගොනු දර්ශක, ක්‍රියාකාරකම් ලුහුබැඳීම් යනාදිය) වසා දැමීමට උත්සාහ කරන්න. මෙය ක්‍රියාත්මක නොවන්නේ නම්, නැවත ආරම්භ කිරීමට උත්සාහ කරන්න. පූර්ව ඇරඹුම් පරිසරයක දෘඩාංග සක්‍රිය හෝ අක්‍රීය කිරීමට ඔබේ පද්ධතිය ඔබට ඉඩ දෙන්නේ නම්, ඔබ භාවිතා නොකරන දෘඩාංග අක්‍රිය කිරීමට උත්සාහ කරන්න. ඔබ යමක් කිරීමට පෙර සෑම නැවත ආරම්භ කිරීමකදීම එය සිදුවුවහොත්, ඔබට දේවල් අස්ථාපනය කිරීමට උත්සාහ කළ හැකිය, නමුත් මේ අවස්ථාවේ දී ඔබට මෙම අධි බරට හේතු වන විශේෂිත යෙදුම් සොයා ගැනීමට syscall පැතිකඩ මෙවලම් ක්‍රියාත්මක කිරීමට අවශ්‍ය වනු ඇත.

ඔබේ විශේෂිත පද්ධතිය අනාගත කර්නල් උත්ශ්‍රේණියක් සමඟ මෙම හැසිරීම ප්‍රකාශ කිරීම නවත්වනු ඇතැයි අපේක්ෂා කළ යුතුය (සහ මේ සඳහා වඩාත් පොදු හේතු බොහොමයක් විසඳී ඇත).


1
මට මන්දගාමී පිවිසුම් ගැටලුවක් ඇති අතර මේ හා සම්බන්ධ යැයි මම සිතමි; මේ ආකාරයෙන් ආරම්භ කර ඇති සියල්ල ප්‍රමාද කිරීමෙන් මම එය විසඳා ගනිමි
ඇක්වාරියස් පවර්

1
සමහර විට මෙය අතිරික්තය, නමුත් ඉතා පැහැදිලිව ප්‍රකාශිත ප්‍රතිචාරයක් මත ඇති ප්‍රශංසාව. එය මනාව ප්‍රකාශිත ඉංග්‍රීසි ටිකක්, සර්.
ජෝන් කාටර්

"මෙම අධි බරට හේතු වන බව පෙනෙන විශේෂිත යෙදුම් සොයා ගැනීමට syscall පැතිකඩ මෙවලම්" කුමන ඒවාද? මට සොයාගත හැකි වන්නේ පද්ධතියේ කුමන කොටස හැඳින්වූවාද යන්න සාමාන්‍යයෙන් ගුප්තයි, නමුත් පද්ධති ඇමතුම් වලට හේතු වූ වැඩසටහන කුමක්දැයි දැන ගැනීමට මම කැමතියි (සහ ඊට වඩා ඇයි).
ෆේබියන් රෝලිං

Kworkers වැඩ කරන්නේ වැඩකටයුතු වලට පමණක්ද, නැත්නම් ඔවුන්ට වෙනත් වගකීම්ද?
සෙවරින් කොසැක්

90

Kworker යනු කුමක්ද? kworkerලිනක්ස් කර්නල් ක්‍රියාවලියක් "වැඩ" කිරීම (සැකසුම් පද්ධති ඇමතුම්). ඔබේ ක්‍රියාවලි ලැයිස්තුවේ ඔබට ඒවායින් කිහිපයක් තිබිය හැකිය: kworker/0:1ඔබේ පළමු CPU හරයේ kworker/1:1ඇති එක, ඔබේ දෙවන යනාදිය.

Kworker ඔබේ CPU හොග් කරන්නේ ඇයි? පිළිබඳව සොයා බැලීම සඳහා kworker ඔබේ CPU නාස්ති කරන්නේ ඇයි, ඔබට CPU backtraces නිර්මාණය කළ හැක: ඔබගේ ප්රොසෙසරය බර (සමග නැරඹීමට topහරහා හෝ දෙයක්) සහ ඉහළ බර අවස්ථාවලදී kworker, ක්රියාත්මක echo l > /proc/sysrq-triggerවන backtrace නිර්මාණය කරන්න. (උබුන්ටු හි, ඔබ සමඟ පුරනය වීමට මෙය අවශ්‍ය වේ sudo -s). මෙය කිහිප වතාවක් කරන්න, ඉන්පසු dmesgප්‍රතිදානය අවසානයේ පසුපෙළ බලන්න . CPU පසුබිම්වල නිතර සිදුවන දේ බලන්න, එය ඔබගේ ගැටලුවේ මූලාශ්‍රය වෙත ඔබව යොමු කරයි.

උදාහරණය: e1000e. මගේ නඩුවේදී, සෑම විටම පාහේ මෙවැනි පසුබිමක් මට හමු විය:

Call Trace:
 delay_tsc+0x4a/0x80
 __const_udelay+0x2c/0x30
 e1000_acquire_swflag_ich8lan+0xa2/0x240 [e1000e]
 e1000e_read_phy_reg_igp+0x29/0x80 [e1000e]
 e1000e_phy_has_link_generic+0x85/0x120 [e1000e]
 e1000_check_for_copper_link_ich8lan+0x48/0x930 [e1000e]
 e1000e_has_link+0x55/0xd0 [e1000e]
 e1000_watchdog_task+0x5e/0x960 [e1000e]

එය මට e1000eඊතර්නෙට් කාඩ් මොඩියුලයේ ගැටළුවක් ඇති බවට ඉඟි කළ අතර ඇත්ත වශයෙන්ම sudo rmmod e1000eඉහළ CPU භාරය ක්ෂණිකව නැති වී ගියේය [ e1000e දෝෂය # 26 ].


4
echo l > /proc/sysrq-triggersysrq: SysRq : This sysrq operation is disabled.කනගාටුවට කරුණක් ලෙස ප්‍රොක්ස්මොක්ස් වැඩ නොකරන බව පෙනේ .
hak8or

2
sysctl -w kernel.sysrq = 1 බලන්න සමඟ reenabled කිරීමට sysrq අවශ්යතාව askubuntu.com/questions/911522/...
Sebastien

E1000 ගැටලුව ඇති කරන බව ඔබ තේරුම්ගත්තේ කෙසේද? එය නැවත නැවත තබා ඇති නිසාද?
onurcanbektas

uronurcanbektas ඔව් - බොහෝ විට පුනරාවර්තනය වන ප්‍රති result ලය වඩාත්ම සම්භාවිතාවය. පසුපෙළ ස්ථාන ස්ථානීය පරීක්ෂාවන් වන බැවින් CPU කාර්යබහුල වන්නේ කුමක් ද යන්න පරීක්ෂා කර බලයි.
ටැනියස්

79

Kworker ඔබේ CPU (cont.) හොග් කරන්නේ ඇයි? මෙහි ඇති මගේ අනෙක් පිළිතුරට විකල්පයක් ලෙස , පර්ෆ් යනු ඔබේ CPU හි ඇති කර්නල් කාර්යයන් මොනවාදැයි විශ්ලේෂණය කිරීමට වඩා වෘත්තීය ක්‍රමයකි:

  1. ස්ථාපනය කරන්න perf:

    sudo apt-get install linux-tools-common linux-tools-3.11.0-15-generic
    

    (දෙවන පැකේජය ඔබගේ කර්නල් වෙළුම ගැලපිය යුතුයි. ඔබ පළමු පමණක් ස්ථාපනය කළ හැකි linux-tools-commonසහ ඇමතුමක් perfඑය අවශ්ය වන පැකේජය ඔබට කියමි ඉඩ.)

  2. ඔබගේ සියලු CPU වල තත්පර 10 ක පසුබිම් පටිගත කරන්න:

    sudo perf record -g -a sleep 10
    
  3. ඔබේ පටිගත කිරීම විශ්ලේෂණය කරන්න:

    sudo perf report
    

    (සංචාලනය සමග ඇමතුමක් ප්රස්තාරය , , , හා Enter.)


3
මගේ පද්ධතියේ, VMware අතථ්‍ය යන්ත්‍රයක් තුළ ධාවනය වෙමින්, perfමම sd_modකර්නල් මොඩියුලය දක්වා ගැටලුව සොයා ගතිමි . vmxගොනුවේ SCSI අක්‍රීය කිරීමෙන් මොඩියුලය පූරණය වීම වළක්වා පද්ධතිය සාමාන්‍ය වේගයට ගෙන ඒමට හැකි විය:scsi0.present = "FALSE"
feklee

ඊ: ලිනක්ස්-ටූල්ස්-3.11.0-15-ජෙනරික් ඊ: ග්ලෝබ් 'ලිනක්ස්-ටූල්ස්-3.11.0-15-ජෙනරික්' මඟින් කිසිදු පැකේජයක් සොයාගත නොහැකි විය: ඊ: රීජෙක්ස් මඟින් කිසිදු පැකේජයක් සොයාගත නොහැකි විය. 'linux-tools-3.11.0-15-generic'
වී

Ad පැඩි: කරුණාකර පිළිතුර නැවත පරීක්ෂා කරන්න :-) "[ලිනක්ස්-මෙවලම් - * - සාමාන්‍ය] පැකේජය ඔබේ කර්නල් අනුවාදයට අනුරූප විය යුතුය. ඔබට පළමුව ලිනක්ස්-මෙවලම්-පොදු ස්ථාපනය කළ හැකි අතර එය කුමන පැකේජයක්දැයි ඔබට පැවසීමට ඉඩ දෙන්න. අවශ්‍යතා. ”
ටැනියස්

RHEL සහ fedora සඳහා පැකේජයේ නම වේ perf. එනම් yum install perf. perf topබොහෝ චක්‍ර අනුභව කරන ඇමතුම් සංදර්ශන මෙන් මම එය භාවිතා කළෙමි . ඉතා කදිමයි. perf topඔබේ පිළිතුරට ඇතුළත් කිරීම සතුටක් . ඔබගේ හොඳ පිළිතුරු දෙකම ඉහළට.
akostadinov

10

සෑම කෙනෙකුටම දැනුම් දීමට. මම මෙම ගැටළුව වෙතට දිව ගියෙමි, ස්ථාපනය කරන ලද පරිපූර්ණ (එය විශිෂ්ට මෙවලමකි), එය භ්‍රමණය වන අගුලු දැමීම සහ එක්ස්එෆ්එස් වෙත යොමු විය. එය එන්එෆ්එස් වෙත යොමු විය. එවිට මට වැටහුණා මගේ සවි කිරීම් වලින් එකක් අවකාශයෙන් තොර බව. අවකාශය නිදහස් කිරීම නිසා kworker CPU 0 දක්වා පහත වැටුණි.

ඉතින් පෙනෙන හැටියට මෙය කාර්යබහුල එන්එෆ්එස් සේවාදායකයක ධාවන ඉඩ නැති වීමේ රෝග ලක්‍ෂණයක් විය හැකිය!


1
විශේෂිත අථත්ය පෙට්ටියක් ක්රියාත්මක වන විට මට kworker දියවීමක් ඇති බව මම දුටුවෙමි. ලිපිගොනු හුවමාරු කර ගැනීම සඳහා යමෙක් මගේ සත්කාරක සමාගම සමඟ එන්එෆ්එස් ධාවනය කළ බව හැරෙනවා. කෙසේ වෙතත් එය කොතැනකවත් පිරී නැත. එන්එෆ්එස් ඉවත් කිරීම ගැටළුව "විසඳා" ඇත. මම හිතන්නේ මම sshfs සවිකිරීමක් සමඟ බෙදා ගන්නම්.
වැඩසටහන්කරු

4

මම මෑතකදී උබුන්ටු නට්ටි බාහිර ධාවකය මත ස්ථාපනය කළෙමි. මම අවුරුදු දෙකක පමණ පැරණි මගේ ඩෙස්ක්ටොප් එකෙන් ආරම්භ කරන විට, සියල්ල ක්‍රියා කරන්නේ චමත්කාරයක් මෙනි. මම මගේ නව ලැප්ටොප් පරිගණකය (MSI gt680r පද්ධතිය) ආරම්භ කරන විට, මම නින්දෙන් පරිගණකය අවදි කිරීමෙන් පසුව හෝ වෙනත් USB තැටියක් සම්බන්ධ කළහොත් එය මන්දගාමී වේ.

Kworker ක්‍රියාවලි වැඩි වැඩියෙන් cpu ගත වන අතර මූසිකය වරින් වර කැටි කරයි.

ක්‍රියාත්මක නොවූ විවිධ සංසදවල විසඳුම් කිහිපයක් මම කියවා ඇත්තෙමි.

මම මගේ ලැප්ටොප් පරිගණකයේ ජීව දත්ත ගබඩාවට ගියෙමි.

Hand XCHI OFF: Enabled
EHCI Hand OFF: disabled

මම වෙනස් කළේ:

Hand XCHI OFF: disabled
EHCI Hand OFF: disabled

එතැන් සිට, එය මගේ ලැප්ටොප් පරිගණකයේ නැටි මත තවදුරටත් කැටි නොකරයි.

ගැටලුව නිවැරදි වුවහොත් සහ ආපසු ලබා දීමට මම ඉඩ දෙන්නෙමි.


1
මෙය සිදුවීමට හේතුව කිසිවෙකුට පැහැදිලි කළ හැකිද? XCHI සම්බන්ධ වන්නේ කෙසේද?
ගයිසොෆ්ට්

0

මම හිතන්නේ නේපොමුක් අක්‍රීය කිරීම ඔබට උපකාරී වේ:

http://www.freetechie.com/blog/disable-nepomuk-desktop-search-on-kde-4-4-2-kubuntu-lucid-10-04/


ස්තූතියි, නමුත් මම එතැන් සිට කුබුන්ටු 11.04 හි නව පිටපතක් ස්ථාපනය කර ඇති අතර කලින් සඳහන් කළ ගැටළුව අතුරුදහන් විය.
davorao

1
මෙය න්‍යායාත්මකව ප්‍රශ්නයට පිළිතුරු දිය හැකි අතර, පිළිතුරේ අත්‍යවශ්‍ය කොටස් මෙහි ඇතුළත් කිරීම වඩාත් සුදුසු වන අතර, යොමු කිරීම සඳහා සබැඳිය සපයයි.
fossfreedom
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.