LINUX.ORG.RU
ФорумTalks

[отклик]scripts


0

1

подумав над скриптом autogroup
подумав на баш-костылями, использующие cgroups
наваял 2 скрипта

#!/bin/bash

for user in `grep '/home/' /etc/passwd|grep -v 'nologin'|cut -d: -f1`;
do
if [[ -d `grep $user /etc/passwd|grep -v 'nologin'|cut -d: -f6` ]]; then
export X_USER=`echo $X_USER $user|tr " " ","`;
fi
done

while [[ `pidof X` ]]
do
sleep 2 && ionice -n 7 -t -c 3 -p `pgrep -u root -v X` &>/dev/null || exit 1
sleep 2 && ionice -n 0 -t -c 1 -p `pgrep -u $X_USER && pidof X` &>/dev/null || exit 1
sleep 2 && renice -n -19 -p `pgrep -u $X_USER && pidof X ` &>/dev/null || exit 1
sleep 2 && renice -n 20 -p `pidof kswapd0` &>/dev/null || exit 1
exit 0
done
+
#!/bin/bash
PROGRAMMS="ktorrent eiskaltdcpp-qt eiskaltdcpp-gtk rtorrent deluged transmission-daemon"

while [[ `pidof X` ]]
do
for prog in `echo $PROGRAMMS|tr " " "\n"`;
do
sleep 2 && renice -n 0 -p `pidof $prog` &>/dev/null
sleep 2 && ionice -n 4 -t -c 0 -p `pidof $prog` &>/dev/null
done
done
запускаю из /etc/conf.d/local (gentoo, да)
/home/megabaks/scripts/renice/test &
/home/megabaks/scripts/renice/renice &
как видно приоритеты расставляются в зависимости от юзера, за некоторыми исключениями (а раз 99% софта хомячка иксовый - логично) .
профиты:
исчез баг в кедах+растр при завершении сеанса(тот самый сегфолт)
по цЫферкам qtperf профит - ускорение на ~30% в отрисовке морды
даже при дикой нагрузке на i/o морда по-прежнему откликается на раз
совместимы с bfs, в отличии от autogroup
второй скрипт для того, что бы всякие торренты и DC клиенты не портили малину
первый скрипт отрабатывает и завершается - все процессы, запущенные после его работы и завершения, получают соответствующие права
второй крутится бесконечно

ругайте, пока я пьян и добр %)
З.Ы. если не туда запостил - перенесите, плз

★★★★

Последнее исправление: megabaks (всего исправлений: 2)

Ответ на: комментарий от anon_666

у тебя есть вариант лучше?
нет? - вот тогда помолчи лучше

megabaks ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.