Инсталирането на звездичка в запас води до много динамично заредени модули, осигуряващи пълния набор от типове канали, кодеци, файлови формати, команди на приложения и интерфейси на счетоводство/база данни. Елиминирането на ненужните динамични модули ще намали отпечатъка на паметта (важно при инсталиране на Asterisk на вградени устройства - като Asterisk Linksys NSLU2), ще намали риска от експлойти, ще намали бъркотията на конзолата и вероятно ще подобри производителността (това е предположение.)

всички модули

Има два подхода за постигане на това. Динамичното зареждане на модула в * се контролира от конфигурационния файл modules.conf. Параметърът „автоматично зареждане“ в раздела [модули] приема стойност „да“ или „не“ и контролира поведението по подразбиране при стартиране.

Когато е зададено на „да“, * автоматично ще зареди всички модули, намерени в подходящата директория, с изключение на тези, които са определени с помощта на параметъра „noload =“. Така че първият подход е да определите кои модули не са ви необходими и да ги изброите изрично. По-долу е даден пример за основна телефонна централа за телефония.

Modules.conf:

Като алтернатива, като зададете ‘autoload =’ на ‘no’, трябва да се изброят всички динамични модули, които се зареждат, в правилния ред. По-долу е даден пример за това за много съкратена IAX2 и SIP само тестова конфигурация. Коментираните модули не трябва да се оставят във файла, но са там, за да улеснят добавянето/премахването при необходимост.

Modules.conf:

06/04/2005 - Преминах през всички модули и ги заредих поотделно, за да определям зависимостите. Това трябва да улесни определянето на това, от което наистина се нуждаете, ако планирате да използвате метода autoload = no. Обърнете внимание, че редът на зареждане има значение и поради това е причината ресурсните файлове да са изброени отгоре. Ако използвате следния файл modules.conf, просто трябва да разкоментирате съответните редове, за да започнете да използвате тези модули. Лейф Мадсен.

2018-януари-11 (четецът е намерен със звездичка13 на FreeBSD, тези допълнителни редове са необходими, за да работи настройката на SIP (и няколко други функции). Имайте предвид, че дори при тези допълнителни заредени модули, той само увеличи отпечатъка на паметта на звездичката по-малко 10 милиона, поддържайки използването на паметта на звездичката под 140 милиона общо в моята малка настройка (когато преди това приемаше + 940 милиона))

Кой от тези два подхода е най-добър? Това зависи от целта ви и от това колко работа искате да свършите.

В подхода ‘autoload = yes’ поддържате списък с модули, които са ненужни при стартиране, и трябва да проследявате нови модули, когато те се добавят към дистрибуцията. Всички, които се добавят, автоматично ще се зареждат, докато не ги посочите в реда ‘noload =’.

В подхода ‘autoload = no’ вие създавате статичен списък на необходимите модули за вашата необходима функционалност (което може да е малко работа в началото.) Тази необходимост никога не се променя, докато не пожелаете да добавите функции. Разбира се, * конфигурациите са много течни и затова това може да се случва често.

Друг страничен ефект от тази процедура за отслабване, под която и да е форма, е да ви позволи да премахнете ненужните конфигурационни файлове без съобщения за грешка или предупреждение. В изброения по-горе подход ‘autoload = no’ директорията/etc/asterisk на моята тестова машина е ограничена до следното:

Това прави изрично онези файлове, които трябва да бъдат коригирани или проверени, за да се диагностицират проблеми и т.н., както и опростяване на поставянето на * конфигурацията под контрол на версиите с поддръжка или CVS.