powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Указанию планировщику ядра на изменение приоритета.
24 сообщений из 24, страница 1 из 1
Указанию планировщику ядра на изменение приоритета.
    #33786346
Pavel Kilevatyh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго дня.

Случается что пользователи запускают несколько тяжелых отчетов. Вроде поборол, что б пользовтель мог запустить не более N отчетов от своего имени одновременно, но если несколько человек запускают эти отчеты тяжело машинке.

Можно ли указать планировщику что б он увеличивал значение nice для процессов, время которых превышает какой-то порог. Я понимаю, что это можно скриптом по крону делать, но может можно обойтись без обвески околосистемной?
...
Рейтинг: 0 / 0
Указанию планировщику ядра на изменение приоритета.
    #33786532
no-dashi-v2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В общем, сделать это нельзя, а вам пора читать теории обслуживания и прочие умности :-)

В упрощенном случае планировщик действует по принципу "Процесс потребляет все доступное процессорное время, если нет других процессов с большим приоритетом". Кроме того, есть также еще несколько уточнений - "Процессам с большим приоритетам гарантируется больший квант процессорного времени" (больший процент использования процессора, "В процессе ожидания кванта времени текущий приоритет процесса нарастает, и процесс с наивысшим текущим приритетом получает управление при следующем переключении задач, при завершении кванта времени текущий приоритет сбрасывается до значения по умолчанию" (обратите внимания на этот пункт - он более корректно описывает то, что вы хотите) и "Процесс всегда может отказаться от своего кванта времени, или вообще его не получает если находится в состоянии ожидания данных или сигнала".

Cильно сомневаюсь, что у вас получится улучшить этот алгоритм. Если процесс находится в состоянии ожидания, увеличение приоритета ничего не даст - процесс все равно будет ожидать другого процесса или устройства. Если есть свободные процессорные ресурсы - процесс их получит, и повышение приоритета для этого не нужно. Если стартовала задача с высоким приоритетом, она ДОЛЖНА получить зеленый свет. Если стартовала задача с тем же приоритетом, значит она не менее важна.

А ваша постановка задачи немного некорректна, поскольку "повисший" процес, например, в вашем случае получит наивысший приоритет и заблокирует все остальные (нормальные и работоспособные) процессы - именно за этим и введен подъем приоритета в процсеес ожидания ("если хочет - наверное ему это же и нужно?") и сброс текущего приоритета ("если ты такой активный, то это не значит что ты действительно важен").
...
Рейтинг: 0 / 0
Указанию планировщику ядра на изменение приоритета.
    #33787405
Pavel Kilevatyh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Должно быть я невнятно объяснил. (
У меня процессы не виснут и даже не стоят в очереди к винту. Они тупо молотят какие-то данные. При старте (в нормальных условиях) процесс кэширует данные и дальше начинает что-то считать редко обращаясь к винту. Но если процесс считает скажем 10 минут, то не принципиально закончит он в 10, 15 или даже 20 минут, а если аналогичный процесс работает на не загруженной машине 0.1-2 с, то увеличение времени отклика до 10-40 сек сильно мешает работать.

Вот мне и хочется забрать приоритет у долгоиграющих запросов, поскольку пользователь уже решился потратить время на длительный расчет.

В общем все довольно элегантно решается с помощью ps+nice+bash+cron. За исключением незначительных моментов.
...
Рейтинг: 0 / 0
Указанию планировщику ядра на изменение приоритета.
    #33787449
Pavel Kilevatyh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перечитал еще раз Ваш пост и понял где недоразумение.

В Linux команда nice указывает "вежливость" процесса, то есть "0" - норма "-19" -максимальный приоритет, "19" - минимальный приоритет.

Актуально для
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
bash- 3 . 1 $ nice --version
nice (GNU coreutils)  5 . 96 
Copyright (C)  2006  Free Software Foundation, Inc.
Это свободная программа.  Вы можете распространять ее копии при
соблюдении условий Универсальной Общественной Лицензии GNU
<http://www.gnu.org/licenses/gpl.html>.  Не предоставляется НИКАКИХ
ГАРАНТИЙ, в установленных законом пределах.

Автор программы -- David MacKenzie.

и ядра четвертой ветки.
...
Рейтинг: 0 / 0
Указанию планировщику ядра на изменение приоритета.
    #33787454
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проклятые линуксоиды
Интересно, какой урод первым додумался скрипты системные на баше стругать...


=====
ничего личного, это мысли вслух, навеянные изучением одной ОС...


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Указанию планировщику ядра на изменение приоритета.
    #33787460
no-dashi-v2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может тогда вам просто пускать "счетные" процессы c nice 19? Тогда они будут считать когда процессор не занят и не мешать в противном случае.
...
Рейтинг: 0 / 0
Указанию планировщику ядра на изменение приоритета.
    #33787489
Pavel Kilevatyh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lissyara
проклятые линуксоиды
Интересно, какой урод первым додумался скрипты системные на баше стругать...


И не говорите. )))
Но вопрос не ко мне а к Праотцам.
...
Рейтинг: 0 / 0
Указанию планировщику ядра на изменение приоритета.
    #33787490
Фотография Oerr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
man ulimit
?

http://surgutnet.ru
...
Рейтинг: 0 / 0
Указанию планировщику ядра на изменение приоритета.
    #33787494
Pavel Kilevatyh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
no-dashi-v2Может тогда вам просто пускать "счетные" процессы c nice 19? Тогда они будут считать когда процессор не занят и не мешать в противном случае.

Запуском процесса занимается демон inetd. На момент старта неизвестно даже приблизительное время выполнения.
...
Рейтинг: 0 / 0
Указанию планировщику ядра на изменение приоритета.
    #33787528
nik2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
lissyara
проклятые линуксоиды
Интересно, какой урод первым додумался скрипты системные на баше стругать...


=====
ничего личного, это мысли вслух, навеянные изучением одной ОС...


и на чем же пишут свои системные скрипты правильные пацаки из FreeBSD ? на голом sh ?, ах да у вас же csh...
...
Рейтинг: 0 / 0
Указанию планировщику ядра на изменение приоритета.
    #33787529
Pavel Kilevatyh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oerr
Код: plaintext
1.
man ulimit


Бегло прочитал мануал. Не понял что сделает система с процесом превысившим лимит времени. Если убъет - это не подходит.
...
Рейтинг: 0 / 0
Указанию планировщику ядра на изменение приоритета.
    #33787581
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
точно. на голом sh.
по причине что на иной платформе баша может и не быть - а вот шелл есть
везде.
=====
а вот на всём ином пишут неправильные четлане :)
и у нас не csh а tcsh.
Код: plaintext
1.
2.
3.
4.
ll /bin | grep sh
-r-xr-xr-x   2  root  wheel   350688   10  май  00 : 03  csh
-r-xr-xr-x   1  root  wheel   131304   10  май  00 : 03  sh
-r-xr-xr-x   2  root  wheel   350688   10  май  00 : 03  tcsh



Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Указанию планировщику ядра на изменение приоритета.
    #33787617
nik2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
хз,как у вас а я, у себя уже давно не видел картину отличную от:
Код: plaintext
1.
2.
3.
4.
5.
g@b127:~/mp3/Alisa> ls -l /bin | grep sh
...
-rwxr-xr-x   1  root root    480744   2004 - 12 - 03   21 : 32  bash
lrwxrwxrwx   1  root root         4   2004 - 12 - 21   14 : 34  sh -> bash
...
...
Рейтинг: 0 / 0
Указанию планировщику ядра на изменение приоритета.
    #33787630
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вы б поглядели на что-то кроме линукса...
...
Рейтинг: 0 / 0
Указанию планировщику ядра на изменение приоритета.
    #33787654
Фотография Oerr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К стати, какого характера процессы? Чем порождаются?

http://surgutnet.ru
...
Рейтинг: 0 / 0
Указанию планировщику ядра на изменение приоритета.
    #33787685
Pavel Kilevatyh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Процессы - копии сервера базы данных. Запускаются из inetd. Сервер БД - Firebird Classic, на каждое соединение запускается своя копия.
...
Рейтинг: 0 / 0
Указанию планировщику ядра на изменение приоритета.
    #33787915
nik2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DocAlНу вы б поглядели на что-то кроме линукса...
с какой извини целью ? ради самообучения ? я в курсе что под FreeBsD это будет выглядеть несколько по другому, и не только из за шелла, НО какого фига мне писать `системный` скрипт под линукс ориентируясь при этом на FreeBSD ???
...
Рейтинг: 0 / 0
Указанию планировщику ядра на изменение приоритета.
    #33788162
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nik2 DocAlНу вы б поглядели на что-то кроме линукса...
с какой извини целью ? ради самообучения ? я в курсе что под FreeBsD это будет выглядеть несколько по другому, и не только из за шелла, НО какого фига мне писать `системный` скрипт под линукс ориентируясь при этом на FreeBSD ???
А я агитировал за "писать `системный` скрипт под линукс ориентируясь при этом на FreeBSD"?
Просто высказывание "хз,как у вас а я, у себя уже давно не видел картину отличную от ...sh -> bash" я счёл слишком безапелляционным. То, что у вас так -- не означает, что так у всех.
...
Рейтинг: 0 / 0
Указанию планировщику ядра на изменение приоритета.
    #33788260
nik2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DocAl nik2 DocAlНу вы б поглядели на что-то кроме линукса...
с какой извини целью ? ради самообучения ? я в курсе что под FreeBsD это будет выглядеть несколько по другому, и не только из за шелла, НО какого фига мне писать `системный` скрипт под линукс ориентируясь при этом на FreeBSD ???
А я агитировал за "писать `системный` скрипт под линукс ориентируясь при этом на FreeBSD"?
Просто высказывание "хз,как у вас а я, у себя уже давно не видел картину отличную от ...sh -> bash" я счёл слишком безапелляционным. То, что у вас так -- не означает, что так у всех.

про системный скрипт в линуксе писал лисяра, вы же после моей фразы предложиле посмотреть на , что то отличное от линукса. Смотреть на, что то отличное от линукса при писании скрипта для линукса мне таки кажется нелогичным.

И мой первый пост был как раз о высказываниях лисяры, и о его навязчивом желании установить свои правила в чужом монастыре...
...
Рейтинг: 0 / 0
Указанию планировщику ядра на изменение приоритета.
    #33788361
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет. я не строю правила в чужих монастырях (хотя у себя я csh поставил - а
вот баш пришлось оставить именно из-за того что его уроды намертво врезали в
систему.)
====
завтра тредстартеру, например, понадобится под соляру скрипт написать. такой
же.
а там баша нет. и поставить почему-то нельзся. там sh и csh (причем не tcsh
а менно csh). и чё - заново половину переделывать?
========
а это навеяно давним-давним высказываанием --null-- что надо писать на sh
из-за совместимости. щас понадобилось линух поковырять - так вот порадовался
что скрипты, мои, не zsh например


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Указанию планировщику ядра на изменение приоритета.
    #33788370
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а линух мне не нравится это я не отрицаю
и чем дальше - там больше


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Указанию планировщику ядра на изменение приоритета.
    #33788488
nik2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
lissyara
нет. я не строю правила в чужих монастырях (хотя у себя я csh поставил - а
вот баш пришлось оставить именно из-за того что его уроды намертво врезали в
систему.)
====
завтра тредстартеру, например, понадобится под соляру скрипт написать. такой
же.
а там баша нет. и поставить почему-то нельзся. там sh и csh (причем не tcsh
а менно csh). и чё - заново половину переделывать?
========

значит твой скрипт ему не особенно нужен...

а это навеяно давним-давним высказываанием --null-- что надо писать на sh
из-за совместимости. щас понадобилось линух поковырять - так вот порадовался
что скрипты, мои, не zsh например


если скрип на sh и bash имеют различие больше чем просто в названии вызываемого интерпритатора, то при использовании sh некоторые интегрированные фичи bash'a, в sh, придется реализовывать внешними командами, и не факт, что во всех перечислинных тобой системах наличие и синтаксис этих команд будет идентичен.
...
Рейтинг: 0 / 0
Указанию планировщику ядра на изменение приоритета.
    #33788804
Фотография Oerr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да будет вам спорить :)

Pavel KilevatyhПроцессы - копии сервера базы данных. Запускаются из inetd. Сервер БД - Firebird Classic, на каждое соединение запускается своя копия.
М... к сожалению с Firebird не знаком, но может быть вы подумаете о следующем....
К примеру в oracle из хранимой процедуры/функции/пакета можно сделать системный вызов, причем так как SPID известен, то при обращении к ресурсоемким манипуляциям можно понижать приоритет (вызвать nice).
Может быть у Firebird имеется что-то аналогичное?


http://surgutnet.ru
...
Рейтинг: 0 / 0
Указанию планировщику ядра на изменение приоритета.
    #33792135
Pavel Kilevatyh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oerr
М... к сожалению с Firebird не знаком, но может быть вы подумаете о следующем....
К примеру в oracle из хранимой процедуры/функции/пакета можно сделать системный вызов, причем так как SPID известен, то при обращении к ресурсоемким манипуляциям можно понижать приоритет (вызвать nice).
Может быть у Firebird имеется что-то аналогичное?


http://surgutnet.ru

В Firebird есть возможность сделать системный вызов из UDF (определенные пользователем функции). Собственно UDF это скомпилированная библиотека с функцией. Но дело немного не в этом. PID процесса виден в top и ps. И приоритет можно понизить с помощью nice. Другое дело, я хотел использовать ядерный шадуллер. Перенастроить его и не морочить голову с найсом.

Собственно проблема решена.
Дальше это просто гимнастика для ума. )
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Указанию планировщику ядра на изменение приоритета.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]