С недавних пор по интернету ходит новость про чудо-патч для ядра Linux, сильно уменьшающий время отклика системы. Однако ядерный патч – есть ядерный патч – для его использования нужно пересобирать ядро, что не каждому захочется делать (мне вот например не хочется). Между тем, уменьшить время отклика и повысить комфортность работы с ОС было бы не плохо.
И простой способ ускорить работу Linux не заставил себя ждать (следует заметить, что этот способ окажет влияние только на процессы, запущенные в текущей сессии оболочки). Появился он в ходе обсуждения разработчиками ОС вышеупомянутого патча для ядра. Получить ускорение можно, всего-лишь внеся несколько строк кода в .bashrc и выполнив пару команд от имени суперпользователя!
Первым делом в .bashrc добавляются следующие строки:
if [ “$PS1” ] ; then
mkdir -m 0700 /sys/fs/cgroup/cpu/user/$$
echo $$ > /sys/fs/cgroup/cpu/user/$$/tasks
fi
Означает это следующее – если в данный момент используется основная строка приглашения, то в каталоге /sys/fs/cgroup/cpu/user/
будет создана директория, именем которой является PID процесса bash, в котором идёт работа, с правами чтения и записи только для владельца. Затем в ней создаётся файл tasks, содержащий тот же PID. Эти действия выполняются при каждом запуске оболочки bash.
Затем от имени суперпользователя (root) нужно выполнить две команды:
mount -t cgroup cgroup /sys/fs/cgroup/cpu -o cpu
mkdir -m 0777 /sys/fs/cgroup/cpu/user
В результате в каталог /sys/fs/cgroup/cpu
будет примонтировано устройство cpu (процессор), в дальнейшем в этот же каталог будет помещаться идентификаторы запущенных процессов с их последующей группировкой, что и должно приводить к уменьшению времени отклика.
P.S. Чтобы не монтировать директорию от суперпользователя каждый раз в ручную, в интернете советуют добавить в /etc/rc.local
следующие строки:
mkdir -p /sys/fs/cgroup/cpu
mount -t cgroup cgroup /sys/fs/cgroup/cpu -o cpu
mkdir -m 0777 /sys/fs/cgroup/cpu/user
Каталог для создания cgroup естественно может быть любой, главное не забыть везде прописать правильные пути.