|
|
|
Указанию планировщику ядра на изменение приоритета.
|
|||
|---|---|---|---|
|
#18+
Доброго дня. Случается что пользователи запускают несколько тяжелых отчетов. Вроде поборол, что б пользовтель мог запустить не более N отчетов от своего имени одновременно, но если несколько человек запускают эти отчеты тяжело машинке. Можно ли указать планировщику что б он увеличивал значение nice для процессов, время которых превышает какой-то порог. Я понимаю, что это можно скриптом по крону делать, но может можно обойтись без обвески околосистемной? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2006, 18:09:58 |
|
||
|
Указанию планировщику ядра на изменение приоритета.
|
|||
|---|---|---|---|
|
#18+
В общем, сделать это нельзя, а вам пора читать теории обслуживания и прочие умности :-) В упрощенном случае планировщик действует по принципу "Процесс потребляет все доступное процессорное время, если нет других процессов с большим приоритетом". Кроме того, есть также еще несколько уточнений - "Процессам с большим приоритетам гарантируется больший квант процессорного времени" (больший процент использования процессора, "В процессе ожидания кванта времени текущий приоритет процесса нарастает, и процесс с наивысшим текущим приритетом получает управление при следующем переключении задач, при завершении кванта времени текущий приоритет сбрасывается до значения по умолчанию" (обратите внимания на этот пункт - он более корректно описывает то, что вы хотите) и "Процесс всегда может отказаться от своего кванта времени, или вообще его не получает если находится в состоянии ожидания данных или сигнала". Cильно сомневаюсь, что у вас получится улучшить этот алгоритм. Если процесс находится в состоянии ожидания, увеличение приоритета ничего не даст - процесс все равно будет ожидать другого процесса или устройства. Если есть свободные процессорные ресурсы - процесс их получит, и повышение приоритета для этого не нужно. Если стартовала задача с высоким приоритетом, она ДОЛЖНА получить зеленый свет. Если стартовала задача с тем же приоритетом, значит она не менее важна. А ваша постановка задачи немного некорректна, поскольку "повисший" процес, например, в вашем случае получит наивысший приоритет и заблокирует все остальные (нормальные и работоспособные) процессы - именно за этим и введен подъем приоритета в процсеес ожидания ("если хочет - наверное ему это же и нужно?") и сброс текущего приоритета ("если ты такой активный, то это не значит что ты действительно важен"). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2006, 23:05:29 |
|
||
|
Указанию планировщику ядра на изменение приоритета.
|
|||
|---|---|---|---|
|
#18+
Должно быть я невнятно объяснил. ( У меня процессы не виснут и даже не стоят в очереди к винту. Они тупо молотят какие-то данные. При старте (в нормальных условиях) процесс кэширует данные и дальше начинает что-то считать редко обращаясь к винту. Но если процесс считает скажем 10 минут, то не принципиально закончит он в 10, 15 или даже 20 минут, а если аналогичный процесс работает на не загруженной машине 0.1-2 с, то увеличение времени отклика до 10-40 сек сильно мешает работать. Вот мне и хочется забрать приоритет у долгоиграющих запросов, поскольку пользователь уже решился потратить время на длительный расчет. В общем все довольно элегантно решается с помощью ps+nice+bash+cron. За исключением незначительных моментов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2006, 13:22:09 |
|
||
|
Указанию планировщику ядра на изменение приоритета.
|
|||
|---|---|---|---|
|
#18+
Перечитал еще раз Ваш пост и понял где недоразумение. В Linux команда nice указывает "вежливость" процесса, то есть "0" - норма "-19" -максимальный приоритет, "19" - минимальный приоритет. Актуально для Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. и ядра четвертой ветки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2006, 13:33:31 |
|
||
|
Указанию планировщику ядра на изменение приоритета.
|
|||
|---|---|---|---|
|
#18+
проклятые линуксоиды Интересно, какой урод первым додумался скрипты системные на баше стругать... ===== ничего личного, это мысли вслух, навеянные изучением одной ОС... Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2006, 13:35:10 |
|
||
|
Указанию планировщику ядра на изменение приоритета.
|
|||
|---|---|---|---|
|
#18+
Может тогда вам просто пускать "счетные" процессы c nice 19? Тогда они будут считать когда процессор не занят и не мешать в противном случае. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2006, 13:37:09 |
|
||
|
Указанию планировщику ядра на изменение приоритета.
|
|||
|---|---|---|---|
|
#18+
lissyara проклятые линуксоиды Интересно, какой урод первым додумался скрипты системные на баше стругать... И не говорите. ))) Но вопрос не ко мне а к Праотцам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2006, 13:46:26 |
|
||
|
Указанию планировщику ядра на изменение приоритета.
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2006, 13:46:40 |
|
||
|
Указанию планировщику ядра на изменение приоритета.
|
|||
|---|---|---|---|
|
#18+
no-dashi-v2Может тогда вам просто пускать "счетные" процессы c nice 19? Тогда они будут считать когда процессор не занят и не мешать в противном случае. Запуском процесса занимается демон inetd. На момент старта неизвестно даже приблизительное время выполнения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2006, 13:47:42 |
|
||
|
Указанию планировщику ядра на изменение приоритета.
|
|||
|---|---|---|---|
|
#18+
lissyara проклятые линуксоиды Интересно, какой урод первым додумался скрипты системные на баше стругать... ===== ничего личного, это мысли вслух, навеянные изучением одной ОС... и на чем же пишут свои системные скрипты правильные пацаки из FreeBSD ? на голом sh ?, ах да у вас же csh... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2006, 13:56:15 |
|
||
|
Указанию планировщику ядра на изменение приоритета.
|
|||
|---|---|---|---|
|
#18+
Oerr Код: plaintext 1. Бегло прочитал мануал. Не понял что сделает система с процесом превысившим лимит времени. Если убъет - это не подходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2006, 13:56:23 |
|
||
|
Указанию планировщику ядра на изменение приоритета.
|
|||
|---|---|---|---|
|
#18+
точно. на голом sh. по причине что на иной платформе баша может и не быть - а вот шелл есть везде. ===== а вот на всём ином пишут неправильные четлане :) и у нас не csh а tcsh. Код: plaintext 1. 2. 3. 4. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2006, 14:07:35 |
|
||
|
Указанию планировщику ядра на изменение приоритета.
|
|||
|---|---|---|---|
|
#18+
хз,как у вас а я, у себя уже давно не видел картину отличную от: Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2006, 14:15:44 |
|
||
|
Указанию планировщику ядра на изменение приоритета.
|
|||
|---|---|---|---|
|
#18+
Ну вы б поглядели на что-то кроме линукса... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2006, 14:17:18 |
|
||
|
Указанию планировщику ядра на изменение приоритета.
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2006, 14:23:24 |
|
||
|
Указанию планировщику ядра на изменение приоритета.
|
|||
|---|---|---|---|
|
#18+
Процессы - копии сервера базы данных. Запускаются из inetd. Сервер БД - Firebird Classic, на каждое соединение запускается своя копия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2006, 14:32:14 |
|
||
|
Указанию планировщику ядра на изменение приоритета.
|
|||
|---|---|---|---|
|
#18+
DocAlНу вы б поглядели на что-то кроме линукса... с какой извини целью ? ради самообучения ? я в курсе что под FreeBsD это будет выглядеть несколько по другому, и не только из за шелла, НО какого фига мне писать `системный` скрипт под линукс ориентируясь при этом на FreeBSD ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2006, 15:39:27 |
|
||
|
Указанию планировщику ядра на изменение приоритета.
|
|||
|---|---|---|---|
|
#18+
nik2 DocAlНу вы б поглядели на что-то кроме линукса... с какой извини целью ? ради самообучения ? я в курсе что под FreeBsD это будет выглядеть несколько по другому, и не только из за шелла, НО какого фига мне писать `системный` скрипт под линукс ориентируясь при этом на FreeBSD ??? А я агитировал за "писать `системный` скрипт под линукс ориентируясь при этом на FreeBSD"? Просто высказывание "хз,как у вас а я, у себя уже давно не видел картину отличную от ...sh -> bash" я счёл слишком безапелляционным. То, что у вас так -- не означает, что так у всех. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2006, 16:44:50 |
|
||
|
Указанию планировщику ядра на изменение приоритета.
|
|||
|---|---|---|---|
|
#18+
DocAl nik2 DocAlНу вы б поглядели на что-то кроме линукса... с какой извини целью ? ради самообучения ? я в курсе что под FreeBsD это будет выглядеть несколько по другому, и не только из за шелла, НО какого фига мне писать `системный` скрипт под линукс ориентируясь при этом на FreeBSD ??? А я агитировал за "писать `системный` скрипт под линукс ориентируясь при этом на FreeBSD"? Просто высказывание "хз,как у вас а я, у себя уже давно не видел картину отличную от ...sh -> bash" я счёл слишком безапелляционным. То, что у вас так -- не означает, что так у всех. про системный скрипт в линуксе писал лисяра, вы же после моей фразы предложиле посмотреть на , что то отличное от линукса. Смотреть на, что то отличное от линукса при писании скрипта для линукса мне таки кажется нелогичным. И мой первый пост был как раз о высказываниях лисяры, и о его навязчивом желании установить свои правила в чужом монастыре... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2006, 17:09:23 |
|
||
|
Указанию планировщику ядра на изменение приоритета.
|
|||
|---|---|---|---|
|
#18+
нет. я не строю правила в чужих монастырях (хотя у себя я csh поставил - а вот баш пришлось оставить именно из-за того что его уроды намертво врезали в систему.) ==== завтра тредстартеру, например, понадобится под соляру скрипт написать. такой же. а там баша нет. и поставить почему-то нельзся. там sh и csh (причем не tcsh а менно csh). и чё - заново половину переделывать? ======== а это навеяно давним-давним высказываанием --null-- что надо писать на sh из-за совместимости. щас понадобилось линух поковырять - так вот порадовался что скрипты, мои, не zsh например Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2006, 17:28:49 |
|
||
|
Указанию планировщику ядра на изменение приоритета.
|
|||
|---|---|---|---|
|
#18+
а линух мне не нравится это я не отрицаю и чем дальше - там больше Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2006, 17:29:43 |
|
||
|
Указанию планировщику ядра на изменение приоритета.
|
|||
|---|---|---|---|
|
#18+
lissyara нет. я не строю правила в чужих монастырях (хотя у себя я csh поставил - а вот баш пришлось оставить именно из-за того что его уроды намертво врезали в систему.) ==== завтра тредстартеру, например, понадобится под соляру скрипт написать. такой же. а там баша нет. и поставить почему-то нельзся. там sh и csh (причем не tcsh а менно csh). и чё - заново половину переделывать? ======== значит твой скрипт ему не особенно нужен... а это навеяно давним-давним высказываанием --null-- что надо писать на sh из-за совместимости. щас понадобилось линух поковырять - так вот порадовался что скрипты, мои, не zsh например если скрип на sh и bash имеют различие больше чем просто в названии вызываемого интерпритатора, то при использовании sh некоторые интегрированные фичи bash'a, в sh, придется реализовывать внешними командами, и не факт, что во всех перечислинных тобой системах наличие и синтаксис этих команд будет идентичен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2006, 17:54:32 |
|
||
|
Указанию планировщику ядра на изменение приоритета.
|
|||
|---|---|---|---|
|
#18+
Да будет вам спорить :) Pavel KilevatyhПроцессы - копии сервера базы данных. Запускаются из inetd. Сервер БД - Firebird Classic, на каждое соединение запускается своя копия. М... к сожалению с Firebird не знаком, но может быть вы подумаете о следующем.... К примеру в oracle из хранимой процедуры/функции/пакета можно сделать системный вызов, причем так как SPID известен, то при обращении к ресурсоемким манипуляциям можно понижать приоритет (вызвать nice). Может быть у Firebird имеется что-то аналогичное? http://surgutnet.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2006, 20:17:39 |
|
||
|
Указанию планировщику ядра на изменение приоритета.
|
|||
|---|---|---|---|
|
#18+
Oerr М... к сожалению с Firebird не знаком, но может быть вы подумаете о следующем.... К примеру в oracle из хранимой процедуры/функции/пакета можно сделать системный вызов, причем так как SPID известен, то при обращении к ресурсоемким манипуляциям можно понижать приоритет (вызвать nice). Может быть у Firebird имеется что-то аналогичное? http://surgutnet.ru В Firebird есть возможность сделать системный вызов из UDF (определенные пользователем функции). Собственно UDF это скомпилированная библиотека с функцией. Но дело немного не в этом. PID процесса виден в top и ps. И приоритет можно понизить с помощью nice. Другое дело, я хотел использовать ядерный шадуллер. Перенастроить его и не морочить голову с найсом. Собственно проблема решена. Дальше это просто гимнастика для ума. ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.06.2006, 11:05:46 |
|
||
|
|

start [/forum/topic.php?fid=25&msg=33787581&tid=1489391]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
170ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 248ms |
| total: | 491ms |

| 0 / 0 |
