Ubuntu Online, Fedora Online, Windows online emulator അല്ലെങ്കിൽ MAC OS ഓൺലൈൻ എമുലേറ്റർ എന്നിങ്ങനെയുള്ള ഞങ്ങളുടെ ഒന്നിലധികം സൗജന്യ ഓൺലൈൻ വർക്ക്സ്റ്റേഷനുകളിലൊന്ന് ഉപയോഗിച്ച് OnWorks സൗജന്യ ഹോസ്റ്റിംഗ് ദാതാവിൽ പ്രവർത്തിപ്പിക്കാവുന്ന hwloc-bind കമാൻഡ് ആണിത്.
പട്ടിക:
NAME
hwloc-bind - നിർദ്ദിഷ്ട പ്രോസസ്സറുകൾ കൂടാതെ/അല്ലെങ്കിൽ മെമ്മറിയുമായി ബന്ധിപ്പിച്ചിരിക്കുന്ന ഒരു കമാൻഡ് സമാരംഭിക്കുക, അല്ലെങ്കിൽ
നിലവിലുള്ള ഒരു പ്രോഗ്രാമിന്റെ ബൈൻഡിംഗ് പരിശോധിക്കുക
സിനോപ്സിസ്
hwloc-ബൈൻഡ് [ഓപ്ഷനുകൾ] [ [...] ] [--] ...
അതല്ല ഹലോക്ക്(7) hwloc സിസ്റ്റത്തെക്കുറിച്ചും സാധുതയെക്കുറിച്ചും വിശദമായ വിശദീകരണം നൽകുന്നു
ഫോർമാറ്റുകൾ; ഈ മാൻ പേജ് വായിക്കുന്നതിന് മുമ്പ് ഇത് വായിക്കണം.
ഓപ്ഷനുകൾ
--cpubind സിപിയു ബൈൻഡിംഗിനായി ഇനിപ്പറയുന്ന ആർഗ്യുമെന്റുകൾ ഉപയോഗിക്കുക (സ്ഥിരസ്ഥിതി).
--മെംബൈൻഡ് മെമ്മറി ബൈൻഡിംഗിനായി ഇനിപ്പറയുന്ന ആർഗ്യുമെന്റുകൾ ഉപയോഗിക്കുക. എങ്കിൽ --മെംപോളിസി അതും നൽകിയിട്ടില്ല,
സ്ഥിരസ്ഥിതി നയം ബൈൻഡ് ആണ്.
--മെംപോളിസി
മെമ്മറി ബൈൻഡിംഗ് നയം മാറ്റുക. ലഭ്യമായ നയങ്ങൾ ഡിഫോൾട്ടാണ്,
ഫസ്റ്റ് ടച്ച്, ബൈൻഡ്, ഇന്റർലീവ് റെപ്ലിക്കേറ്റ്, നെക്സ്റ്റ് ടച്ച്. ഈ ഓപ്ഷൻ മാത്രമാണ്
ഒരു യഥാർത്ഥ ബൈൻഡിംഗ് കൂടി നൽകുമ്പോൾ അർത്ഥവത്തായതാണ് --മെംബൈൻഡ്. എങ്കിൽ --മെംബൈൻഡ് is
ഇല്ലാതെ കൊടുത്തു --മെംപോളിസി, ഡിഫോൾട്ട് പോളിസി ബൈൻഡ് ആണ്.
-- നേടുക നിലവിലെ ബൈൻഡിംഗുകൾ റിപ്പോർട്ടുചെയ്യുക.
ഒരു കമാൻഡ് നൽകുമ്പോൾ, കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യുന്നതിന് മുമ്പ് ബൈൻഡിംഗ് പ്രദർശിപ്പിക്കും.
കമാൻഡ് നൽകാത്തപ്പോൾ, കറന്റ് കാണിച്ചതിന് ശേഷം പ്രോഗ്രാം പുറത്തുകടക്കുന്നു
ബന്ധിക്കുന്നു.
സംയോജിപ്പിക്കുമ്പോൾ --മെംബൈൻഡ്, CPU ബൈൻഡിംഗിന് പകരം മെമ്മറി ബൈൻഡിംഗ് റിപ്പോർട്ടുചെയ്യുക.
ബൈൻഡിംഗ് നടത്താത്തതിനാൽ ലൊക്കേഷൻ നൽകാനാവില്ല.
-e --get-last-cpu-location
പ്രോസസ്സ് നടന്ന അവസാന പ്രോസസ്സറുകൾ റിപ്പോർട്ട് ചെയ്യുക. ഫലം ഉണ്ടായേക്കാം എന്നത് ശ്രദ്ധിക്കുക
റിപ്പോർട്ടുചെയ്യുമ്പോൾ ഇതിനകം കാലഹരണപ്പെട്ടതാണ്, കാരണം ഓപ്പറേറ്റിംഗ് സിസ്റ്റം നീക്കിയേക്കാം
ബൈൻഡിംഗ് അനുസരിച്ച് ഏത് സമയത്തും മറ്റ് പ്രോസസ്സറുകളിലേക്ക് പ്രോസസ്സ് ചെയ്യുക.
ഒരു കമാൻഡ് നൽകുമ്പോൾ, എക്സിക്യൂട്ട് ചെയ്യുന്നതിന് മുമ്പ് അവസാന പ്രോസസ്സറുകൾ പ്രദർശിപ്പിക്കും
കമാൻഡ്. കമാൻഡ് നൽകാത്തപ്പോൾ, അവസാനത്തേത് പ്രദർശിപ്പിച്ചതിന് ശേഷം പ്രോഗ്രാം പുറത്തുകടക്കുന്നു
പ്രോസസ്സറുകൾ.
ഈ ഓപ്ഷൻ കൂട്ടിച്ചേർക്കാൻ കഴിയില്ല --മെംബൈൻഡ്.
ബൈൻഡിംഗ് നടത്താത്തതിനാൽ ലൊക്കേഷൻ നൽകാനാവില്ല.
--സിംഗിൾ മൈഗ്രേഷൻ തടയാൻ ഒരൊറ്റ സിപിയുവിൽ ബൈൻഡ് ചെയ്യുക.
--കണിശമായ കർശനമായ ബൈൻഡിംഗ് ആവശ്യമാണ്.
--pid
പിഡിയിൽ പ്രവർത്തിക്കുക
-p --ഭൗതികം
ലോജിക്കൽ ഇൻഡക്സുകൾക്ക് പകരം OS/ഫിസിക്കൽ ഇൻഡക്സുകൾ എടുക്കുക
-l --ലോജിക്കൽ
ഫിസിക്കൽ/ഒഎസ് സൂചികകൾക്ക് പകരം ലോജിക്കൽ ഇൻഡക്സുകൾ എടുക്കുക (സ്ഥിരസ്ഥിതി)
--ടാസ്ക്സെറ്റ് ടാസ്ക്സെറ്റ് കമാൻഡ്-ലൈൻ തിരിച്ചറിഞ്ഞ ഫോർമാറ്റിൽ സിപിയു സെറ്റ് സ്ട്രിംഗുകൾ പ്രദർശിപ്പിക്കുക
hwloc-നിർദ്ദിഷ്ട സിപിയു സെറ്റ് സ്ട്രിംഗ് ഫോർമാറ്റിന് പകരം പ്രോഗ്രാം. ഈ ഓപ്ഷന് ഇല്ല
ഇൻപുട്ട് സിപിയു സെറ്റ് സ്ട്രിംഗുകളുടെ ഫോർമാറ്റിൽ സ്വാധീനം ചെലുത്തുന്നു, രണ്ട് ഫോർമാറ്റുകളും എല്ലായ്പ്പോഴും അംഗീകരിക്കപ്പെടും.
--നിയന്ത്രിക്കുക
തന്നിരിക്കുന്ന cpuset-ലേക്ക് ടോപ്പോളജി പരിമിതപ്പെടുത്തുക.
--മുഴുവൻ-സിസ്റ്റം
ഭരണ പരിമിതികൾ പരിഗണിക്കരുത്.
-f --ശക്തിയാണ്
ബൈൻഡിംഗ് പരാജയപ്പെട്ടാലും എക്സിക്യൂട്ടബിൾ ലോഞ്ച് ചെയ്യുക.
-q --നിശബ്ദമായി
മാരകമല്ലാത്ത പിശക് സന്ദേശങ്ങൾ മറയ്ക്കുക. നിലവിലില്ലാത്തതിലേക്ക് വിരൽ ചൂണ്ടുന്ന ലൊക്കേഷനുകൾ ഇതിൽ ഉൾപ്പെടുന്നു
വസ്തുക്കൾ, അതുപോലെ ബന്ധിപ്പിക്കുന്നതിൽ പരാജയം. കൂടാതെ, ഇത് സാധാരണയായി ഉപയോഗപ്രദമാണ്
--ശക്തിയാണ്.
-v --വാക്കുകൾ
വെർബോസ് ഔട്ട്പുട്ട്.
--പതിപ്പ് പതിപ്പ് റിപ്പോർട്ടുചെയ്ത് പുറത്തുകടക്കുക.
വിവരണം
hwloc-bind ഒരു എക്സിക്യൂട്ടബിൾ (ഓപ്ഷണൽ കമാൻഡ് ലൈൻ ആർഗ്യുമെന്റുകൾ സഹിതം) നിർവ്വഹിക്കുന്നു.
നിർദ്ദിഷ്ട സ്ഥാനം (അല്ലെങ്കിൽ ലൊക്കേഷനുകളുടെ ലിസ്റ്റ്). വിജയകരമായ നിർവ്വഹണത്തിന് ശേഷം, hwloc-ബൈൻഡ് ലളിതമായി
ബൈൻഡിംഗുകൾ സജ്ജമാക്കുകയും തുടർന്ന് എക്സിക്യൂട്ടബിൾ സ്വയം നടപ്പിലാക്കുകയും ചെയ്യുന്നു.
ബൈൻഡിംഗ് പരാജയപ്പെടുകയാണെങ്കിൽ, അല്ലെങ്കിൽ ബൈൻഡിംഗ് സെറ്റ് ശൂന്യമാണെങ്കിൽ, ഒപ്പം --ശക്തിയാണ് നൽകിയിട്ടില്ല, hwloc-bind
എക്സിക്യൂട്ടബിൾ സമാരംഭിക്കുന്നതിനുപകരം ഒരു പിശകോടെയാണ് മടങ്ങുന്നത്.
ശ്രദ്ധിക്കുക: നിങ്ങൾ വായിക്കാൻ വളരെ ശുപാർശ ചെയ്യുന്നു ഹലോക്ക്(7) വായിക്കുന്നതിന് മുമ്പുള്ള അവലോകന പേജ്
ഈ മാൻ പേജ്. വിവരിച്ചിരിക്കുന്ന മിക്ക ആശയങ്ങളും ഹലോക്ക്(7) hwloc-ലേക്ക് നേരിട്ട് പ്രയോഗിക്കുക-
ബൈൻഡ് യൂട്ടിലിറ്റി.
ഉദാഹരണങ്ങൾ
hwloc-bind-ന്റെ പ്രവർത്തനം നിരവധി ഉദാഹരണങ്ങളിലൂടെ നന്നായി വിവരിച്ചിരിക്കുന്നു. എങ്ങനെ എന്നതിനെക്കുറിച്ചുള്ള കൂടുതൽ വിശദാംശങ്ങൾ
hwloc-bind കമാൻഡ് ലൈനിൽ ലൊക്കേഷനുകൾ വ്യക്തമാക്കിയിരിക്കുന്നു ഹലോക്ക്(7).
രണ്ടാമത്തെ പാക്കേജിന്റെ ആദ്യ ലോജിക്കൽ പ്രൊസസറിൽ എക്കോ കമാൻഡ് പ്രവർത്തിപ്പിക്കുന്നതിന്:
hwloc-bind പാക്കേജ്:1.pu:0 -- എക്കോ ഹലോ
കൃത്യമായി തുല്യമാണ്
hwloc-bind പാക്കേജ്:1.pu:0 echo hello
"എക്കോ" കമാൻഡ് രണ്ടാമത്തെ പാക്കേജിന്റെ ആദ്യ കോറിലേക്കും രണ്ടാമത്തെ കോറിലേക്കും ബന്ധിപ്പിക്കുന്നതിന്
ആദ്യ പാക്കേജ്:
hwloc-bind പാക്കേജ്:1.core:0 പാക്കേജ്:0.core:1 echo hello
ഒന്നിലധികം പ്രോസസറുകളിലേക്ക് "echo" കമാൻഡ് ബൈൻഡ് ചെയ്യുന്നത് അർത്ഥശൂന്യമാണെന്ന് ശ്രദ്ധിക്കുക
(കാരണം "എക്കോ" ഒരു ഒറ്റ-ത്രെഡഡ് ആപ്ലിക്കേഷനായി നടപ്പിലാക്കാൻ സാധ്യതയുണ്ട്); ഈ ഉദാഹരണങ്ങൾ
hwloc-bind-ന് എന്തുചെയ്യാനാകുമെന്ന് കാണിക്കാൻ സഹായിക്കുക.
രണ്ടാമത്തെയും മൂന്നാമത്തെയും നോഡുകളിലെ ആദ്യത്തെ മൂന്ന് പാക്കേജുകളിൽ പ്രവർത്തിക്കാൻ:
hwloc-bind node:1-2.package:0:3 echo hello
ഇതും തുല്യമാണ്:
hwloc-bind node:1-2.package:0-2 echo hello
നിങ്ങൾ നിലവിലില്ലാത്ത വസ്തുക്കളുമായി ബന്ധിപ്പിക്കാൻ ശ്രമിക്കുകയാണെങ്കിൽ, hwloc-bind മുന്നറിയിപ്പ് നൽകില്ല.
അല്ലാതെ -v വ്യക്തമാക്കിയിരുന്നു.
ഫിസിക്കൽ ഇൻഡക്സ് 2 ഉള്ള പാക്കേജിൽ ഫിസിക്കൽ ഇൻഡക്സ് 1 ഉള്ള പ്രോസസറിൽ പ്രവർത്തിപ്പിക്കാൻ:
hwloc-bind --physical package:1.core:2 echo hello
ഇരട്ട പാക്കേജുകൾക്കുള്ളിൽ ഒറ്റ കോറുകളിൽ പ്രവർത്തിപ്പിക്കാൻ:
hwloc-bind പാക്കേജ്:even.core:odd echo hello
ആദ്യത്തെ പാക്കേജിൽ പ്രവർത്തിക്കാൻ, അതിന്റെ രണ്ടാമത്തെയും അഞ്ചാമത്തെയും കോറുകൾ ഒഴികെ:
hwloc-bind പാക്കേജ്:0 ~പാക്കേജ്:0.core:1 ~package:0.core:4 echo hello
ആദ്യ പാക്കേജ് ഒഴികെ എവിടെയും പ്രവർത്തിപ്പിക്കാൻ:
hwloc-bind all ~package:0 echo hello
eth0 എന്ന് പേരിട്ടിരിക്കുന്ന നെറ്റ്വർക്ക് ഇന്റർഫേസിന് സമീപമുള്ള ഒരു കോറിൽ പ്രവർത്തിക്കാൻ:
hwloc-bind os=eth0 എക്കോ ഹലോ
0000:01:02.0 എന്ന ബസ് ഐഡിയുള്ള പിസിഐ ഉപകരണത്തിന് സമീപമുള്ള ഒരു കോറിൽ പ്രവർത്തിക്കാൻ:
hwloc-bind pci=0000:01:02.0 echo hello
രണ്ടാമത്തെ മെമ്മറി നോഡിൽ മെമ്മറി ബൈൻഡ് ചെയ്യുന്നതിനും ആദ്യ നോഡിൽ പ്രവർത്തിപ്പിക്കുന്നതിനും (OS പിന്തുണയ്ക്കുമ്പോൾ):
hwloc-bind --cpubind നോഡ്:1 --membind നോഡ്:0 echo hello
--get ഓപ്ഷന് നിലവിലെ ബൈൻഡിംഗുകൾ റിപ്പോർട്ടുചെയ്യാനാകും. ഈ ഉദാഹരണം hwloc-bind നെസ്റ്റിംഗ് കാണിക്കുന്നു
ഒരു ബൈൻഡിംഗ് സജ്ജീകരിക്കാനും അത് റിപ്പോർട്ടുചെയ്യാനുമുള്ള അഭ്യർത്ഥനകൾ:
hwloc-bind node:1.package:2 hwloc-bind --get
hwloc ഡവലപ്പറുടെ മെഷീനുകളിലൊന്നിൽ, ഈ ഉദാഹരണം "0x00004444,0x44000000" എന്ന് റിപ്പോർട്ട് ചെയ്യുന്നു.
നിങ്ങളുടെ മെഷീനിൽ റിപ്പോർട്ട് ചെയ്തിരിക്കുന്ന മാസ്ക് വ്യത്യസ്തമായിരിക്കാം.
ലൊക്കേഷനുകൾ ഒരു ഹെക്സ് ബിറ്റ് മാസ്ക് ആയും വ്യക്തമാക്കിയേക്കാം (സാധാരണയായി hwloc-calc സൃഷ്ടിക്കുന്നത്).
ഉദാഹരണത്തിന്:
hwloc-bind 0x00004444,0x44000000 echo hello
hwloc-bind `hwloc-calc node:1.package:2` echo hello
മെമ്മറി ബൈൻഡിംഗും റിപ്പോർട്ട് ചെയ്യപ്പെടാം:
hwloc-bind --membind node:1 --mempolicy interleave -- hwloc-bind --get --membind
ഇത് "0x000000f0 (ഇന്റർലീവ്)" പോലെയുള്ള മെമ്മറി ബൈൻഡിംഗിനെ വിവരിക്കുന്ന ഒരു സ്ട്രിംഗ് നൽകുന്നു.
സിസ്റ്റത്തിൽ NUMA നോഡുകളൊന്നും ഇല്ലെങ്കിൽ, റിപ്പോർട്ടുചെയ്ത സ്ട്രിംഗ് സൂചിപ്പിക്കുമെന്നത് ശ്രദ്ധിക്കുക
പ്രക്രിയ മുഴുവൻ സിസ്റ്റം മെമ്മറിയുമായി ബന്ധപ്പെട്ടിരിക്കുന്നു (ഉദാ, "0xf...f").
സൂചന
ഗ്രാഫിക്സ് പ്രവർത്തനക്ഷമമാക്കിയ lstopo ലഭ്യമാണെങ്കിൽ, ഉദാഹരണത്തിന് ഉപയോഗിക്കുക
hwloc-bind core:2 -- lstopo --pid 0
നിങ്ങളുടെ ബൈൻഡിംഗ് കമാൻഡിന്റെ ഫലം യഥാർത്ഥത്തിൽ എന്താണെന്ന് പരിശോധിക്കാൻ. lstopo ഗ്രാഫിക്കലായിരിക്കും
hwloc-bind വഴി അത് എവിടെയാണ് ബന്ധിപ്പിച്ചിരിക്കുന്നതെന്ന് കാണിക്കുക.
തിരികെ , VALUE-
വിജയകരമായി നടപ്പിലാക്കുമ്പോൾ, hwloc-bind കമാൻഡ് സ്വയം നടപ്പിലാക്കുന്നു. റിട്ടേൺ മൂല്യം ആണ്
അതിനാൽ കമാൻഡിന്റെ റിട്ടേൺ മൂല്യം എന്തായാലും.
(എന്നാൽ ഇവയിൽ മാത്രം പരിമിതപ്പെടുത്തിയിട്ടില്ല) ഏതെങ്കിലും തരത്തിലുള്ള പിശക് സംഭവിക്കുകയാണെങ്കിൽ hwloc-bind പൂജ്യമല്ല തിരികെ നൽകും:
കമാൻഡ് ലൈൻ പാഴ്സ് ചെയ്യുന്നതിൽ പരാജയം, പ്രോസസ്സ് ബൈൻഡിംഗുകൾ വീണ്ടെടുക്കുന്നതിൽ പരാജയം, അല്ലെങ്കിൽ a യുടെ അഭാവം
എക്സിക്യൂട്ട് ചെയ്യാനുള്ള കമാൻഡ്.
onworks.net സേവനങ്ങൾ ഉപയോഗിച്ച് hwloc-bind ഓൺലൈനായി ഉപയോഗിക്കുക