{"id":487,"date":"2017-04-01T15:04:49","date_gmt":"2017-04-01T13:04:49","guid":{"rendered":"http:\/\/miroslaw.borodziuk.eu\/?p=487"},"modified":"2017-06-03T17:23:54","modified_gmt":"2017-06-03T15:23:54","slug":"przydzielenie-procesom-okreslonego-priorytetu","status":"publish","type":"post","link":"http:\/\/miro.borodziuk.eu\/index.php\/2017\/04\/01\/przydzielenie-procesom-okreslonego-priorytetu\/","title":{"rendered":"Przydzielenie procesom okre\u015blonego priorytetu"},"content":{"rendered":"<p>Procesom przydzielany jest okre\u015blony priorytet w algorytmie szeregowania zgodnie z zasad\u0105, \u017ce procesowi o wi\u0119kszym priorytecie zostanie przyznane wi\u0119cej czasu procesora ni\u017c procesowi o mniejszym priorytecie. Priorytet okre\u015bla si\u0119 parametrem zwanym <i>niceness<\/i>, b\u0119d\u0105cym liczb\u0105 ca\u0142kowit\u0105 z przedzia\u0142u -20 (najwy\u017cszy priorytet) do 19 (najni\u017cszy priorytet). <!--more-->Tylko u\u017cytkownik o uprawnieniach superu\u017cytkownika mo\u017ce u\u017cywa\u0107 ujemnych warto\u015bci parametru <i>niceness<\/i>, jednak\u017ce w systemie Linux poprzez edycj\u0119 pliku <tt>\/etc\/security\/limits.conf<\/tt>, mo\u017cna to umo\u017cliwi\u0107 innym u\u017cytkownikom i grupom. Procesy uruchamiane bez u\u017cycia komendy <tt><i>nice<\/i><\/tt> domy\u015blnie posiadaj\u0105 priorytet r\u00f3wny 0, ale administrator systemu mo\u017ce to zmieni\u0107.<\/p>\n<p>Wy\u015bwietlanie aktualnych priorytet\u00f3w proces\u00f3w (kolumna<em> NI<\/em>):<\/p>\n<pre># ps -efl\r\n\r\nF S UID\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 PID\u00a0 PPID\u00a0 C PRI\u00a0 NI ADDR SZ WCHAN\u00a0 STIME TTY\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 TIME CMD\r\n 4 S root\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1\u00a0\u00a0\u00a0\u00a0 0\u00a0 0\u00a0 80\u00a0\u00a0 0 - 31340 ep_pol mar12 ?\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 00:02:17 \/usr\/lib\/systemd\/systemd --system --deserialize 23\r\n 1 S root\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2\u00a0\u00a0\u00a0\u00a0 0\u00a0 0\u00a0 80\u00a0\u00a0 0 -\u00a0\u00a0\u00a0\u00a0 0 kthrea mar12 ?\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 00:00:00 [kthreadd]\r\n 1 S root\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 3\u00a0\u00a0\u00a0\u00a0 2\u00a0 0\u00a0 80\u00a0\u00a0 0 -\u00a0\u00a0\u00a0\u00a0 0 smpboo mar12 ?\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 00:00:00 [ksoftirqd\/0]\r\n 1 S root\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 5\u00a0\u00a0\u00a0\u00a0 2\u00a0 0\u00a0 60 -20 -\u00a0\u00a0\u00a0\u00a0 0 worker mar12 ?\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 00:00:00 [kworker\/0:0H]\r\n 1 S root\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 6\u00a0\u00a0\u00a0\u00a0 2\u00a0 0\u00a0 80\u00a0\u00a0 0 -\u00a0\u00a0\u00a0\u00a0 0 worker mar12 ?\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 00:00:00 [kworker\/u30:0]\r\n 1 S root\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 7\u00a0\u00a0\u00a0\u00a0 2\u00a0 0 -40\u00a0\u00a0 - -\u00a0\u00a0\u00a0\u00a0 0 smpboo mar12 ?\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 00:00:01 [migration\/0]\r\n 1 S root\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 8\u00a0\u00a0\u00a0\u00a0 2\u00a0 0\u00a0 80\u00a0\u00a0 0 -\u00a0\u00a0\u00a0\u00a0 0 rcu_gp mar12 ?\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 00:00:00 [rcu_bh]<\/pre>\n<p>Sprawdzenie domy\u015blnie nadawanego procesom priorytetu w systemie:<\/p>\n<pre># nice<\/pre>\n<p>Okre\u015blony\u00a0 priorytet mo\u017ce by\u0107 nadawany programowi w czasie jego uruchamiana:<\/p>\n<pre># nice -2 top<\/pre>\n<p>Abu uruchomi\u0107 program z priorytetem -10 u\u017cywamy dw\u00f3ch minus\u00f3w:<\/p>\n<pre># nice --10 top<\/pre>\n<p>Priorytet uruchomionego procesu mo\u017cemy zmieni\u0107 komend\u0105 <em>renice<\/em>:<\/p>\n<pre># renice -n priorytet -p PID_procesu [lub wi\u0119cej PID oddzielonych spacj\u0105]<\/pre>\n<p>Polecenie <em>renice<\/em> mo\u017ce tak\u017ce zmieni\u0107 priorytet proces\u00f3w uruchamianych przez konkretnego u\u017cytkownika (-u) lub grup\u0119 (-g).<\/p>\n<pre># renice -n priorytet -u username<code>\r\n<\/code><\/pre>\n<p>Przyk\u0142ad z <em>man<\/em>, zmiana priorytetu procesu z PID 987 i 32 plus wszystkie procesy nale\u017c\u0105ce do u\u017cytkownika <em>daemon<\/em> i <em>root<\/em>:<\/p>\n<pre># renice +1 987 -u daemon root -p 32<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Procesom przydzielany jest okre\u015blony priorytet w algorytmie szeregowania zgodnie z zasad\u0105, \u017ce procesowi o wi\u0119kszym priorytecie zostanie przyznane wi\u0119cej czasu procesora ni\u017c procesowi o mniejszym priorytecie. Priorytet okre\u015bla si\u0119 parametrem zwanym niceness, b\u0119d\u0105cym liczb\u0105 ca\u0142kowit\u0105 z przedzia\u0142u -20 (najwy\u017cszy priorytet) do 19 (najni\u017cszy priorytet).<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[33],"tags":[],"_links":{"self":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts\/487"}],"collection":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/comments?post=487"}],"version-history":[{"count":11,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts\/487\/revisions"}],"predecessor-version":[{"id":1309,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/posts\/487\/revisions\/1309"}],"wp:attachment":[{"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/media?parent=487"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/categories?post=487"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/miro.borodziuk.eu\/index.php\/wp-json\/wp\/v2\/tags?post=487"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}