Список используемых модулей
LinuxID 18 декабря, 2011 - 16:43
Всегда и везде ядро я собирал через make menuconfig. Обновил материку на MSI PH67S-C43 и проц на Core i5 2500. Как ни пересобираю ядро ... все равно тормоза есть. Если же ядро собраю genkernel`ом, то все летает. Вот и возникла задача, решить которую сам пока не в состоянии.
lsmod выводит весь список загруженных модулей. lspci -k выводит модули только для оборудования. Как правильно получить список задействованных модулей с учетом работы iptables, lm_sensor, KVM, ethX, bridge, tapX и пр. программами, использующими модули ядра? Подозреваю что их больше чем lspci -k и меньше чем lsmod.
»
- Для комментирования войдите или зарегистрируйтесь
Может быть cat
Может быть
?
joydev 8096 0 - Live
Нет, это не то ибо этого оборудования у меня нет.
Правильно заданный вопрос - половина ответа!
Логики и довода — недостаточно. Надо еще зачморить тех, кто думает не так как мы. (South Park)
Как вариант:— идёте сюда;—
Как вариант:
— идёте сюда;
— вставляете в окошко вывод команды
lspci -n
;— получаете список модулей для своего ядра;
— вдумчиво «допиливаете» конфигурационный файл ядра :D
Я ♥ Gentoo & Funtoo
Вы меня не совсем правильно
Вы меня не совсем правильно поняли. Меня интересуют не только модули для оборудования, но и модули, используемые программами типа iptables и пр. см. выше.
Правильно заданный вопрос - половина ответа!
Логики и довода — недостаточно. Надо еще зачморить тех, кто думает не так как мы. (South Park)
Тогда плюс к предложенному —
Тогда плюс к предложенному — поработать с ядром от genkernel, затем посмотреть вновь появившиеся и используемые в данный момент модули. Но и это не 100%-ное решение вашей задачи — а вдруг вы потом захотите какое-либо новое оборудование? ;)
Я для себя пришёл к такому компромиссу — беру конфигурационный файл от SystemRescueCD, настраиваю его в соответствии с имеющимся у меня оборудованием, исключая явно избыточные для меня опции и включая явно необходимое. Ну и «экспериментирую», ...неоднократно.
Я ♥ Gentoo & Funtoo
Lupo Alberto
Как это посмотреть? Интересует второе. Пересобирать ядро туда-сюда с вкл/выкл модулей и потом гордиться что я умею их включать что-то не улыбается. Меня интересует именно список используемых модулей. Не загруженных, не оборудования, а именно используемых.
Правильно заданный вопрос - половина ответа!
Логики и довода — недостаточно. Надо еще зачморить тех, кто думает не так как мы. (South Park)
Не претендуя на истину: число
Не претендуя на истину:
число в третьем поле вывода команды
lsmod
показывает количество модулей, зависящих от данного, в четвёртом поле — перечислены эти модули.Не до конца понятна стоящая перед вами задача — чтобы понять, нужна ли вам определённая опция ядра надо либо много читать, либо много «экспериментировать» с включением-выключением опций в ядре. Так, к примеру, у себя я полностью включаю поддержку всех модулей netfilter — ведь какие именно опции конфигурации iptables я захочу использовать в будущем, я не знаю.
P.S. IMHO, в большинстве случаев в данный момент оптимизация ядра больше хобби, чем насущная необходимость.
Я ♥ Gentoo & Funtoo
для примера:libata
для примера:
из этого списка у меня всего два модуля для материнки.
Какие модули для моего оборудования нужны я знаю, но при этом ядро, собранное make заметно тормозит хотя и работает. Вот я хочу выцепить те модули которых не хватае.
Возможно они (модули) управляют прерываниями, частотой проца и/или чем то еще чего. Возможно это специфические модули, которые динамически управляют параметрами других модулей.
Я это не знаю и хочу их ... что бы не тормозило.
Правильно заданный вопрос - половина ответа!
Логики и довода — недостаточно. Надо еще зачморить тех, кто думает не так как мы. (South Park)
..
Всегда и везде ядро я собирал через make menuconfig.
Эта команда не собирает ядро. Да и минусов юзанья у генкернел почти нет, так что почему бы его не юзать, тем более все летает )
По теме, сравните конфиги. Найдёте разницу.
_SerEga_ написал(а): Всегда и
Написано же через!!! Разумеется далее следовали make && make modules_install )) А что касается сравнения ... разница в несколько сот строк ибо в конфиге у генкернела почти везде стоит = m и определить используемость данного m не представляется возможным.
Правильно заданный вопрос - половина ответа!
Логики и довода — недостаточно. Надо еще зачморить тех, кто думает не так как мы. (South Park)
Торопился, забыл смайлик
Торопился, забыл смайлик поставить. Хотел намекнуть, что неправильно делить сборку ядра на make menuconfig и genkernel. Более правильный способ: вы собираете ядро по своему конфигу(menuconfig) или по чужому. В обоих случаях можно юзать genkernel, а можно нет.
Выкинте 100% лишнее(драйверы устройств которых у вас нет - это быстро и просто), загрузитесь, если все нормально, то из оставшегося начинайте убирать, то что вам кажется лишним. При этом периодически собирайте новое ядро и проверяйте. С каждым разом лишнего будет все меньше и меньше.
>...и меньше чем
>...и меньше чем lsmod.
Имхо,отнюдь не так.
Если вы ручками,или самописными скриптами, или через /etc/conf.d/modules ничего не грузили, то в списке будут только те модули, которые ядро с удевом посчитали определённо необходимыми.
Там может чего-то не хватать,или быть определено не оптимально (есть случаи когда подходят несколько альтернативных модулей), но лишнего не будет.
Так что, да. один из этапов настройки ядра - это загрузка универсального модульного ядра и просмотр, что загрузилось, чтоб не пропустить чего важного.
(Ну и + то, что вам выше надиктовали)
Это ответ на вторую часть Вашего сообщения.
По сути же,то на что Вы жалуетесь в первой части сообщения слабо связано со второй.
Имеются веские предпосылки, что дело не столько в отсутствии отдельных драйверов (модулей), сколько в изначально не верной конфигурации ядра, так что универсальная конфигурация в Вашем случае оказывается более выгодной.
Возможные ошибки:
Неверное указание семейства и типа процессора, установка некорректных параметров для вашего проца, памяти, чипсета, злоупотребление параметрами,необходимость которых не очевидна.
Всё это требует достаточно плотного знакомства с железом, с его возможностями и характеристиками. (мне пришлось, например, недели две перелопачивать сайт интела, чтобы понять, что можно отключить, а что лучше оставить).
Если такое не для Вас, то наилучший компромиссный выход - это взять сгенеренный генкернелом конфиг и потихоньку отключать то, чего у вас явно нет СНИЗУ ВВЕРХ не трогая то, в чем Вы не уверены.
:)