1 |
12.03.2010 04:05, Охрименко Александр пишет: |
2 |
> А может вы как то подробнее опишите свои действия? :) Не все такие профи |
3 |
> чтобы понять, а какой то выход найти хочется. |
4 |
|
5 |
Не профи по гуглению? :) А если серьёзно, сегодня проверил отзывчивость |
6 |
иксов во время работы emerge-webrsync, без группового планирования (все |
7 |
процессы были в корневой cgroup), и разницы не заметил. Тормозов не |
8 |
было, а значит, они исчезли по другой причине. Возможно, дело было в |
9 |
смене ядра на более свежее или в пересборке без какой-либо лишней опции |
10 |
(периодически отключаю, что не понадобилось). Сейчас у меня |
11 |
2.6.32.9-grseс. Думаю, с ванильным 2.6.32.х та же ситуация. Попробуйте |
12 |
его, вдруг поможет. |
13 |
|
14 |
Изначально я включал групповое планирование, чтобы ослабить влияние |
15 |
интенсивных вычислений в фоне на отзывчивость иксов, просмотр фильмов и |
16 |
т.п.. С этим оно справилось, даже в таком примитивном виде (всего две |
17 |
группы). |
18 |
|
19 |
Ядро должно быть собрано с CONFIG_GROUP_SCHED и CONFIG_CGROUP_SCHED. Дальше: |
20 |
|
21 |
1. mkdir -m 700 /cgroup /cgroup/cpu |
22 |
|
23 |
2. В fstab добавить: |
24 |
none /cgroup/cpu cgroup cpu |
25 |
|
26 |
3. В /etc/conf.d/local: |
27 |
local_start() { |
28 |
if ( mountpoint -q /cgroup/cpu ); then |
29 |
[ -d /cgroup/cpu/system ] || mkdir /cgroup/cpu/system |
30 |
ebegin "Setting up system cpu cgroup" |
31 |
for N in 1 2 3; do |
32 |
for PROC in $(cat /cgroup/cpu/tasks); do |
33 |
echo $PROC > /cgroup/cpu/system/tasks 2>/dev/null |
34 |
done |
35 |
done |
36 |
eend |
37 |
[ -d /cgroup/cpu/user ] || mkdir /cgroup/cpu/user |
38 |
ebegin "Setting up user cgroup" |
39 |
echo $(pgrep -f /usr/bin/slim) > /cgroup/cpu/user/tasks 2>/dev/null |
40 |
echo $(pgrep -f /usr/bin/Xorg) > /cgroup/cpu/user/tasks 2>/dev/null |
41 |
eend |
42 |
fi |
43 |
return 0 |
44 |
} |
45 |
|
46 |
4. В /root/.bash_profile: |
47 |
echo $$ > /cgroup/cpu/system/tasks |
48 |
|
49 |
5. rc-update add local default |
50 |
|
51 |
6. Запустить local, перезапустить xdm, и вроде всё. |