<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Linux Forum &mdash; Разные значения приоритета процесса, почему?]]></title>
	<link rel="self" href="https://linuxforum.ru/extern.php?action=feed&amp;tid=14614&amp;type=atom" />
	<updated>2011-06-23T11:28:31Z</updated>
	<generator>PunBB</generator>
	<id>https://linuxforum.ru/viewtopic.php?id=14614</id>
		<entry>
			<title type="html"><![CDATA[Re: Разные значения приоритета процесса, почему?]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=190162#p190162" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>neiro пишет:</cite><blockquote><p>Получаю значение приоритета 0</p></blockquote></div><p>логично, по умолчанию все процессы получают nice==0<br /></p><div class="quotebox"><cite>neiro пишет:</cite><blockquote><p>При выводе команды ps получаю значение приоритета 80 для этого процесса.</p></blockquote></div><p>не в тот столбик посмотрели... вам нужен столбик NI.<br /></p><div class="quotebox"><cite>neiro пишет:</cite><blockquote><p>При считывании приоритета (опятьже для этого процесса) из функции ядра __sched schedule (void), которая находится в файле sched.c получаю значение 120.</p></blockquote></div><p>в ядре есть два различных приоритета - prio - это динамический приоритет, периодически пересчитывается. Есть ещё static_prio - равен 140 - nice. т.е.120.<br />Видимо вам просто повезло, что получали из prio всегда 120 или стоит тупой планировщик, который не пересчитывает приоритет.</p>]]></content>
			<author>
				<name><![CDATA[Fat-Zer]]></name>
				<uri>https://linuxforum.ru/profile.php?id=11911</uri>
			</author>
			<updated>2011-06-23T11:28:31Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=190162#p190162</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Разные значения приоритета процесса, почему?]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=190143#p190143" />
			<content type="html"><![CDATA[<p>Считываю приоритет процесса из ядра, из тестовой проги и с помощью вывода ps.</p><p>Почему разные значения приоритета для одного и того же прооцесса?</p><p>Тестовая прога:</p><div class="codebox"><pre><code>#include &lt;stdio.h&gt;
#include &lt;sys/resource.h&gt;

int main( int argc, char *argv[] ) {
   int which = PRIO_PROCESS;
   id_t pid;
   int ret;

   while (1) {
      pid = getpid();
      ret = getpriority (which, pid);

      printf (&quot;Prio=%d pid=%d\n&quot;,ret,pid);
      sleep (10);
   }
}</code></pre></div><p>Получаю значение приоритета 0</p><p>При выводе команды ps получаю значение приоритета 80 для этого процесса.</p><p>При считывании приоритета (опятьже для этого процесса) из функции ядра __sched schedule (void), которая находится в файле sched.c получаю значение 120.</p><p>Цифра 120 с одной стороны вроде адекватна (поскольку во всех доках она чаще всего приводится...) но считывая приоритеты остальных процессов также получаю 120. Поле prio структуры task_struct</p><p>Как можно обосновать такие разные данные?</p>]]></content>
			<author>
				<name><![CDATA[neiro]]></name>
				<uri>https://linuxforum.ru/profile.php?id=5657</uri>
			</author>
			<updated>2011-06-23T09:57:30Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=190143#p190143</id>
		</entry>
</feed>
