Решено: Очень плохо работает распределение ресурсов ([решено])

Sabayon, Calculate, Funtoo, Exherbo

Модератор: /dev/random

MaGIc laNTern
Сообщения: 537
Статус: 人です
ОС: Gentoo

Решено: Очень плохо работает распределение ресурсов

Сообщение MaGIc laNTern »

Собственно, вот. Всё работает, даже хорошо работает, тот же FPS в играх значительно выше, чем в Mandriva 2007, но распределение ресурсов между процессами явно работает как-то не так. Обычного компирования файлов достаточно, чтобы свести на нет нормальное прослушивание музыки, не говоря уж о просмотре видео. От компиляции начинает тормозить курсор мышки. В вышеупомянутой Mandriva 2007 проблем с распределением ресурсов не наблюдается (всё хорошо работает, даже если запустить пару компиляций, фильм и какое-нибудь копирование), хотя она, в отличие от Gentoo, даже не собрана под мой процессор. Подскажите, пожалуйста, с чем могут быть связаны такие проблемы в Gentoo.

Конфигурация компьютера:

Код: Выделить всё

Материнская плата: Asus P5RD2-VM
Процессор: Intel Celeron D на 2,53 ГГц
— в ядре 2.6.21-gentoo-r1 выбрана Processor family: Pentium-4/Celeron(P4-based)/Pentium-4 M/older Xeon
Оперативная память: 2 гигабайта двумя модулями Kingston по гигабайту с частотой 667 МГц
Видеокарта: nVidia GeForce 7600 GT с 256 мегабайтами DDR3-памяти
— используются драйвера nvidia-drivers


/etc/make.conf:

Код: Выделить всё

INPUT_DEVICES="keyboard mouse"
VIDEO_CARDS="nvidia"
ACCEPT_KEYWORDS="~x86"
CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"
CHOST="i686-pc-linux-gnu"
Спасибо сказали:
Аватара пользователя
Alexxx
Сообщения: 892
Статус: --==XXX==--
ОС: Archlinux current

Re: Решено: Очень плохо работает распределение ресурсов

Сообщение Alexxx »

Глянь, включены ли следующие опции в ядре:

Код: Выделить всё

CONFIG_PREEMPT=y
CONFIG_PREEMPT_BKL=y
CONFIG_MTRR=y
и hdparm на предмет dma
Спасибо сказали:
MaGIc laNTern
Сообщения: 537
Статус: 人です
ОС: Gentoo

Re: Решено: Очень плохо работает распределение ресурсов

Сообщение MaGIc laNTern »

Код: Выделить всё

# CONFIG_PREEMPT_NONE is not set
CONFIG_PREEMPT_VOLUNTARY=y
# CONFIG_PREEMPT is not set
CONFIG_PREEMPT_BKL=y

Код: Выделить всё

CONFIG_MTRR=y


Работоспособность DMA прямо сейчас проверить не могу, так как я в Мандриве. Но по ощущениям Gentoo отлично работает с моими дисками — проблемы начинаются только когда нужно делать что-то параллельно (процессор-то обычный, одноядерный, даже без всяких там threading'ов).
Спасибо сказали:
Аватара пользователя
Alexxx
Сообщения: 892
Статус: --==XXX==--
ОС: Archlinux current

Re: Решено: Очень плохо работает распределение ресурсов

Сообщение Alexxx »

Попробуй сменить текущий планировщик в ядре
Спасибо сказали:
MaGIc laNTern
Сообщения: 537
Статус: 人です
ОС: Gentoo

Re: Решено: Очень плохо работает распределение ресурсов

Сообщение MaGIc laNTern »

То есть?
Спасибо сказали:
Аватара пользователя
loner
Сообщения: 149
ОС: Debian 5.0

Re: Решено: Очень плохо работает распределение ресурсов

Сообщение loner »

Вывод /sys/block/hda/queue/sheduler покажите

Попробуйте echo cfq > /sys/block/hda/queue/sheduler
Спасибо сказали:
wzor
Сообщения: 124
ОС: gentoo

Re: Решено: Очень плохо работает распределение ресурсов

Сообщение wzor »

loner писал(а):
29.05.2007 03:20
Вывод /sys/block/hda/queue/sheduler покажите

Попробуйте echo cfq > /sys/block/hda/queue/sheduler

+1
это избавит систему от лагов при копировании файлов...
п.с у мя почемуто путь такой:
cat /sys/block/hda/queue/scheduler
noop anticipatory deadline [cfq]
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Решено: Очень плохо работает распределение ресурсов

Сообщение serzh-z »

wzor писал(а):
29.05.2007 04:05
у мя почемуто путь такой:
Потому что нет такого слова - sheduler.
Спасибо сказали:
Аватара пользователя
loner
Сообщения: 149
ОС: Debian 5.0

Re: Решено: Очень плохо работает распределение ресурсов

Сообщение loner »

ну подумаешь очепятался :rolleyes:
Спасибо сказали:
MaGIc laNTern
Сообщения: 537
Статус: 人です
ОС: Gentoo

Re: Решено: Очень плохо работает распределение ресурсов

Сообщение MaGIc laNTern »

Так как Gentoo у меня установлена на /dev/hdb5…
ml@pivo ~ $ cat /sys/block/hdb/queue/scheduler
noop [anticipatory] deadline cfq

Но, повторюсь, тормозит даже курсор мышки.
Спасибо сказали:
Аватара пользователя
helicopter
Сообщения: 324
Статус: Комсомолец
ОС: Gentoo Linux

Re: Решено: Очень плохо работает распределение ресурсов

Сообщение helicopter »

Смотри выше, echo cfq > /sys/block/hdb/queue/scheduler
А вообще, лучше включи CFQ дефлотным планировщиком в ядре.
Выбирая Linux, вы развиваете цивилизацию. Выбирая windows, вы набиваете кошелёк забугорному буржую...
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Решено: Очень плохо работает распределение ресурсов

Сообщение serzh-z »

MaGIc laNTern писал(а):
30.05.2007 09:07
Но, повторюсь, тормозит даже курсор мышки.


helicopter писал(а):
30.05.2007 11:00
А вообще, лучше включи CFQ дефлотным планировщиком в ядре.


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

Неплохо было бы увидеть конфиг ядра.
Спасибо сказали:
MaGIc laNTern
Сообщения: 537
Статус: 人です
ОС: Gentoo

Re: Решено: Очень плохо работает распределение ресурсов

Сообщение MaGIc laNTern »

Конфиг ядра вот.
/usr/src/linux-2.6.21-gentoo-r1/.config
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Спасибо сказали:
MaGIc laNTern
Сообщения: 537
Статус: 人です
ОС: Gentoo

Re: Решено: Очень плохо работает распределение ресурсов

Сообщение MaGIc laNTern »

echo cfq > /sys/block/hdb/queue/scheduler
Не работает. Вернее, оно сразу же восстанавливается на прежнее значение.
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Решено: Очень плохо работает распределение ресурсов

Сообщение serzh-z »

По меньшей мере следует:

- включить CONFIG_PREEMPT вместо CONFIG_PREEMPT_VOLUNTARY
- отключить CONFIG_SMP
- включить CONFIG_X86_PC вместо CONFIG_X86_GENERICARCH
- отключить CONFIG_X86_GENERIC
- отключить CONFIG_COMPAT_VDSO

Последние три параметра не слишком скажутся на производительности, но добавят небольшую оптимизацию и снизят потребление памяти.

Поскольку уж используется новое ядро, очень рекомендую включить:
- CONFIG_TICK_ONESHOT
- CONFIG_NO_HZ
- CONFIG_HIGH_RES_TIMERS

MaGIc laNTern писал(а):
30.05.2007 23:44
Не работает. Вернее, оно сразу же восстанавливается на прежнее значение.
Оно *не может* само восстанавливаться на прежнее значение. Что значит "сразу"?
Спасибо сказали:
MaGIc laNTern
Сообщения: 537
Статус: 人です
ОС: Gentoo

Re: Решено: Очень плохо работает распределение ресурсов

Сообщение MaGIc laNTern »

От этих изменений лучше не стало. Только хуже.
Ещё при сборке ядра появились предупреждения от модуля nvidia.

Код: Выделить всё

WARNING: /lib/modules/2.6.21-gentoo-r1/video/nvidia.ko needs unknown symbol on_each_cpu
WARNING: /lib/modules/2.6.21-gentoo-r1/video/nvidia.ko needs unknown symbol smp_call_function
WARNING: /lib/modules/2.6.21-gentoo-r1/video/nvidia.ko needs unknown symbol _spin_unlock_irqrestore
WARNING: /lib/modules/2.6.21-gentoo-r1/video/nvidia.ko needs unknown symbol _spin_lock_irq
WARNING: /lib/modules/2.6.21-gentoo-r1/video/nvidia.ko needs unknown symbol _spin_lock_irqsave

Правда, X всё же запустился с драйвером nvidia. А вот звук работать перестал. И, может быть, стало даже медленней, чем было.
На всякий случай выкладываю отредактированный .config. Надо только отметить, что после его ручного изменения при сборке мне задали некоторое количество вопросов, на первые из которых меня хватило что-то ответить.


(serzh-z) писал(а):Оно *не может* само восстанавливаться на прежнее значение. Что значит "сразу"?

«Это может» © 4400. Когда я делаю echo cfq > /sys/block/hdb/queue/scheduler, запись, вроде бы, происходит, но когда я вновь читаю этот файл, я вижу, что он не изменился.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Решено: Очень плохо работает распределение ресурсов

Сообщение serzh-z »

В таком случае - черт знает что творится в доме Обломских... Вашим ядром завладели силы тьмы, которые тормозят систему вопреки логике, законам и архитектуре ядра. nvidia.ko все верно говорит - он же был собран для SMP-версии ядра, которое теперь уже не SMP.
Спасибо сказали:
MaGIc laNTern
Сообщения: 537
Статус: 人です
ОС: Gentoo

Re: Решено: Очень плохо работает распределение ресурсов

Сообщение MaGIc laNTern »

Чёрт, а я ведь всё по инструкции, вроде как, делал. Ладно, попробую на каком-нибудь более англоязычном форуме спросить и уже потом, если ничего не выйдет, попробую обратно перейти на ASPLinux или что-то такое. Хотя, конечно, Gentoo мне очень нравится всем, кроме этой дурацкой тормазнутости.
Спасибо сказали:
Andrew S
Сообщения: 225
Статус: экспериментатор
ОС: Conrad-Gentoo

Re: Решено: Очень плохо работает распределение ресурсов

Сообщение Andrew S »

Похоже драйвер nvidia собрался с заголовочными файлами smp-ядра.
Есть такой замечательный файлик /usr/src/linux/README. Там написано:
- Make sure you have no stale .o files and dependencies lying around:

cd linux
make mrproper

и еще:
BUILD directory for the kernel:

When compiling the kernel all output files will per default be
stored together with the kernel source code.
Using the option "make O=output/dir" allow you to specify an alternate
place for the output files (including .config).
Example:
kernel source code: /usr/src/linux-2.6.N
build directory: /home/name/build/kernel

To configure and build the kernel use:
cd /usr/src/linux-2.6.N
make O=/home/name/build/kernel menuconfig
make O=/home/name/build/kernel
sudo make O=/home/name/build/kernel modules_install install

Please note: If the 'O=output/dir' option is used then it must be
used for all invocations of make.

Это расходится с хэндбуком, но так имхо правильней
Спасибо сказали:
MaGIc laNTern
Сообщения: 537
Статус: 人です
ОС: Gentoo

Re: Решено: Очень плохо работает распределение ресурсов

Сообщение MaGIc laNTern »

Проблема решена. Удалил Mandriva 2007 с SATA-диска и перенёс на тот диск Gentoo (до этого Gentoo была на IDE-диске). Кроме того, включил DMA в ядре. Всем спасибо!
Спасибо сказали: