Gentoo Archives: gentoo-user-ru

From: Pavel Labushev <p.labushev@×××××.com>
To: gentoo-user-ru@l.g.o
Subject: [gentoo-user-ru] Re: [gentoo-user-ru] Re: [gentoo-user-ru] Re: [gentoo-user-ru] Re: [gentoo-user-ru] Re: [gentoo-user-ru] Re[2]: [gentoo-user-ru] Re: Насущный вопрос о тормозах при интенсивном I/O
Date: Sat, 13 Mar 2010 06:36:01
Message-Id: 4B9B2FB7.3040503@gmail.com
In Reply to: [gentoo-user-ru] Re: [gentoo-user-ru] Re: [gentoo-user-ru] Re: [gentoo-user-ru] Re: [gentoo-user-ru] Re[2]: [gentoo-user-ru] Re: Насущный вопрос о тормозах при интенсивном I/O by "Охрименко Александр"
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, и вроде всё.