{"id":13500,"date":"2022-05-22T16:00:57","date_gmt":"2022-05-22T16:00:57","guid":{"rendered":"https:\/\/profi-tutorials.de\/linux\/?p=13500"},"modified":"2022-05-22T16:00:57","modified_gmt":"2022-05-22T16:00:57","slug":"befehl-taskset","status":"publish","type":"post","link":"https:\/\/profi-tutorials.de\/linux\/administration\/befehl-taskset\/","title":{"rendered":"Der Befehl taskset"},"content":{"rendered":"<p>In diesem Beitrag lernen Sie den Befehl taskset kennen, welcher unter Linux- \/ UNIX-Betriebssystemen verwendet wird, um Prozesse auf Systemen mit mehreren Kernen bzw. Prozessoren gezielt letzteren zuzuweisen.<\/p>\n<p>Standardm&auml;&szlig;ig erfolgt die Zuweisung von Prozessen an die verf&uuml;gbaren Prozessoren automatisch durch den Linux-Kernel. Der Scheduler versucht zudem bereits standardm&auml;&szlig;ig, Prozesse auf ein- und demselben Prozessor \/ Kern auszuf&uuml;hren, solange dies aus Performance-Sicht praktikabel ist. Aus diesen Gr&uuml;nden ist die Verwendung von taskset nur in besonderen Ausnahmef&auml;llen sinnvoll.<\/p>\n<h2 id=\"t-1650886251385\">Installation<\/h2>\n<p>Der Befehl <strong>taskset <\/strong>ist im Paket <strong>util-linux<\/strong> enthalten und auf den meisten Systemen bereits vorinstalliert. Eine manuelle Installation ist mit dem folgenden Befehl mithilfe von <strong>apt <\/strong>m&ouml;glich:<\/p>\n<pre>apt-get install util-linux<\/pre>\n<h2 id=\"t-1650886251386\">Allgemeine Syntax<\/h2>\n<p><strong>taskset <\/strong>kann verwendet werden, um einen Befehl auf einem oder mehreren festgelegten Prozessoren \/ Kernen auszuf&uuml;hren. Die <a class=\"glossaryLink cmtt_Allgemein cmtt_Informatik\" aria-describedby=\"tt\" data-cmtooltip=\"&lt;div class=glossaryItemTitle&gt;Syntax&lt;\/div&gt;&lt;div class=glossaryItemBody&gt;&#8203;Im  Allgemeinen wird unter Syntax ein Regel&#8203;system verstanden, welches zur  Kombination elementarer Zeichen zu zusammengesetzten &#8203;Zeichen in (...)&lt;\/div&gt;\" href=\"https:\/\/profi-tutorials.de\/linux\/glossar\/syntax\/\" target=\"_blank\" data-mobile-support=\"0\" data-gt-translate-attributes='[{\"attribute\":\"data-cmtooltip\", \"format\":\"html\"}]' tabindex=\"0\" role=\"link\">Syntax<\/a> hierf&uuml;r lautet:<\/p>\n<pre>taskset [Optionen] [Maske] [Befehl [Argumente]]<\/pre>\n<p>Alternativ kann auch ein laufender Prozess beeinflusst werden, indem die <strong>Option -p<\/strong> verwendet und die entsprechende <strong>PID <\/strong>am Ende angegeben wird:<\/p>\n<pre>taskset [Optionen] -p [Maske] [PID]<\/pre>\n<p>Durch Verwendung letzterer Syntax ohne sonstige Optionen kann der <strong>Status des Prozesses<\/strong> mit der gegebenen <strong>PID <\/strong>ausgelesen werden. Wenn ein Prozess mit <strong>taskset <\/strong>beeinflusst werden soll, sind Root-Rechte erforderlich.<\/p>\n<p>Bei der Maske handelt es sich um eine <strong>Bitmaske<\/strong>, welche spezifiziert, welcher Prozessor bzw. welche Prozessoren dem Prozess zugeordnet werden sollen. Das niedrigste Bit der Bitmaske steht dabei f&uuml;r den ersten logischen Prozessor, w&auml;hrend dem h&ouml;chste Bit dem letzten logischen Prozessor entspricht. Die Maske wird <strong>hexadezimal <\/strong>angegeben. Eine Maske darf mehr Prozessoren spezifizieren, als auf dem System tats&auml;chlich vorhanden sind. Beispiel f&uuml;r eine Maske, die die Prozessoren 0, 1, 4 und 5 spezifiziert ist &ldquo;33&rdquo; (In bin&auml;rer Schreibweise &ldquo;00110011&rdquo;).<\/p>\n<h5>Beispiel: Status eines Prozesses auslesen<\/h5>\n<h6 style=\"\"><span style=\"font-weight: normal;\">In diesem Beispiel wird der Status eines Prozesses ausgelesen.<\/span><\/h6>\n<h6>Eingabe:<\/h6>\n<p>Dem Befehl <strong>taskset <\/strong>werden lediglich die <strong>Option -p<\/strong> und die <strong>PID 1525<\/strong> &uuml;bergeben.<\/p>\n<p>taskset -p 1525<\/p>\n<h6>Ausgabe:<\/h6>\n<p>Der Ausgabe ist die <strong>aktuelle Maske<\/strong> des Prozesses mit der <strong>PID 1525<\/strong> zu entnehmen. In diesem Fall ist es die <strong>Maske &ldquo;3&rdquo;<\/strong> (In bin&auml;rer Schreibweise &ldquo;00000011&rdquo;), welche den ersten beiden logischen Prozessoren entspricht. Das hier verwendete System verf&uuml;gt &uuml;ber insgesamt zwei logische Prozessoren, welche mit der Bitmaske standardm&auml;&szlig;ig beide zugewiesen sind.<\/p>\n<p>pid 1525&rsquo;s current affinity mask: 3<\/p>\n<h2 id=\"t-1650886251387\">Wichtige Optionen<\/h2>\n<p>Im Folgenden werden die wichtigsten Optionen des Befehls <strong>taskset <\/strong>vorgestellt.&nbsp;<\/p>\n<h3 id=\"t-1650886251388\">-c &ndash; CPU-Liste spezifizieren<\/h3>\n<p>Bei Verwendung der <strong>Option -c<\/strong> wird <strong>[Maske]<\/strong> nicht als Bitmaske, sondern als numerische Liste (dezimal) von Prozessoren interpretiert. Die Nummern werden durch Kommata getrennt. Bereichsangaben, wie beispielsweise <strong>&ldquo;1-4&rdquo;<\/strong>, sind erlaubt.<\/p>\n<pre>taskset [Optionen] -p [CPU-Liste] [PID]<\/pre>\n<p style=\"text-align: center;\">Abonniere JETZT unseren Newsletter!<\/p>\n<p style=\"text-align: center;\">Verpasse nie wieder <strong>neue<\/strong> Beitr&auml;ge und <strong>exklusive Insider-Only-Inhalte!<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In diesem Beitrag lernen Sie den Befehl taskset kennen, welcher unter Linux- \/ UNIX-Betriebssystemen verwendet wird, um Prozesse auf Systemen mit mehreren Kernen bzw. Prozessoren gezielt letzteren zuzuweisen. Standardm\u00e4\u00dfig erfolgt die Zuweisung von Prozessen an die verf\u00fcgbaren Prozessoren automatisch durch den Linux-Kernel. Der Scheduler versucht zudem bereits standardm\u00e4\u00dfig, Prozesse auf ein- und demselben Prozessor \/ [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":13504,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"none","_seopress_titles_title":"%%post_title%% %%sep%% %%sitetitle%%","_seopress_titles_desc":"In diesem Beitrag lernen Sie den Befehl taskset kennen, welcher unter UNIX \/ Linux verwendet wird, um Prozesse gezielt bestimmten Prozessoren \/ Kernen zuzuweisen.","_seopress_robots_index":"","footnotes":""},"categories":[8],"tags":[],"class_list":["post-13500","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administration"],"_links":{"self":[{"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/posts\/13500","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/comments?post=13500"}],"version-history":[{"count":68,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/posts\/13500\/revisions"}],"predecessor-version":[{"id":13944,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/posts\/13500\/revisions\/13944"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/media\/13504"}],"wp:attachment":[{"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/media?parent=13500"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/categories?post=13500"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/profi-tutorials.de\/linux\/wp-json\/wp\/v2\/tags?post=13500"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}