Разликите в ядрата на Ubuntu сървър и Ubuntu десктоп IT дайре

Днешната статия за разликите в Ubuntu сървъра версия ядки, от десктоп-версията. Тя ще ви помогне да разберете защо използването на сървърната версия все още е по-предпочитан е за решаване на проблемите на сървъра, за всеки случай, ако изведнъж замислен да се изострят при този бизнес десктоп-версията.

В допълнение, за тези, които все още се учат на Linux ядрото и се подготвя да направи първия си възстановят ядрото, има една много интересна и полезна информация.

Така че, в допълнение към по-малки от изискванията към ресурси и липсата на GUI е различен Ubuntu сървър, копаят по-дълбоко в ядрото.

За да разберете, ще я сравним файлове (сървър) /boot/config-2.6.22-14-server и (Desktop) /boot/config-2.6.22-14-generic.

Podmontiruem два .iso имидж на временна директория, извлечете файла и след това да ги сравните (работещ под корен):

Сега файловете трябва да бъдат разопаковани в две различни директории, защото има файлове със същото име, в рамките на файла дебютантка: control.tar.gz, data.tar.bz2 и Debian-двоичен.

Използвайте команди ар и катран, за да разопаковате .deb файл, и razpakovki .tar.gz файлове, съдържащи се в тях:

Сега ние получаваме от директорията на зареждане, файловете, довереник-2.6.22-14-сървъра и довереник-2.6.22-14-общи, копиран в същата директория и да ги сравните:

Ние се получи изход диференциал: няколко десетки разлики в сравнение 3100 линии на тези файлове.

Нека да разгледаме тези разлики.

Има четири различни вида график I / O (вход / изход): CFQ (Напълно панаир Queuing) Краен срок, NOOP и Изпреварващо. Ubuntu подразбиране десктоп поставя CFQ и Краен срок за сървъри. Провежданата от I / O график Целта същото: оптимизиране на пропускателната способност на твърдия диск за натовареността на различните класове.

В конфигурацията на опциите, описани CONFIG_DEFAULT_IOSCHED, CONFIG_IOSCHED_CFQ, _DEADLINE, _AS, _NOOP.

* CFQ се опитва да балансира и да направи равен на всички заявки за четене / запис. * Срок дава приоритет на заявките за четене. * Изпреварващо дава предимство на тези приложения вече вървят. * NOOP е предназначен за системи с хардуер, който поддържа планирането на I / O, като например големи SCSI RAID-масиви.

Въпросът за предпочитан тип I / O се основава на съществуващата си хардуер: колко от вашите компютърни процесори, твърди дискове, какви видове приложения са започнали и какво е натоварването, с които вашата система трябва да се справят.

Можете да експериментирате с тези стойности, за да проверите тестовете и съответно да избере най-оптималния вариант. Между другото, можете да зададете тези опции по време на зареждане, използвайте различни видове за всички блокови устройства или ги променя в движение. по подразбиране в Ubuntu важни последици - не е зле като за начало, но ако искате да ги промените, можете да го направите по същия начин, както във всяка друга дистрибуция на Linux.

Присвояване (присвояване - РРО)

В ядрото на сървъра е изключен (CONFIG_PREEMPT_NONE = ш), а десктоп ядрото - разрешена (CONFIG_PREEMPT_BKL = ш, CONFIG_PREEMPT_VOLUNTARY = Y). Прокуратурата взаимодейства с планирането на I / O, за да се постигне по-добра производителност, по-голяма ефикасност и ефективност. В ядрата без мидълуер код се изпълнява до края. Поради това, че ядрото на Линукс ви позволява да прекъсне всяка задача във всяка точка на работата си (но със сигурност не в момента, когато тя не е безопасна) и задачи с по-нисък приоритет може да се появяват в списъка на горния етаж задача, Прокуратурата е точно за настолни системи, тъй като потребителите обикновено изпълнява много задачи наведнъж: записва документи, да слушате музика, изтегляне на файлове и т.н. А потребителите се интересуват от това колко добре на заден план за приложението, важно е да се прилагането, с които са в момента работи.

На сървъри, трябва да се сведе до минимум и всички възможни разлики в производителността, така че обикновено се практикува и от Прокуратурата.

Тики и Херц (Кърлежи HZ)

И двете таймери ядро ​​подкрепа в искането за прекъсване (CONFIG_NO_HZ = ш), т.нар опцията "tickless". Това означава, че по време на периоди на бездействие, системата наистина не е активен, това означава по-малка консумация на енергия и по-ниска температура на процесора.

сървър таймер ядрото прекъсване е настроен на 100 Hz (CONFIG_HZ = 100, CONFIG_HZ_100 = Y), което означава, че са необходими 100 прекъсва дейността си в секунда. От друга страна, можете да го погледнете по този начин: ядрото 100 пъти в секунда проверки дали процесора всеки проблем.

Ако е необходимо да промените тази стойност, ще трябва да компилирате ядрото.

Server Core използва опция CONFIG_M686 = ш и desktopr CONFIG_M586 = ш. Това означава, че ядрото на сървъра е оптимизиран за Pentium Pro набор инструкции, както и ядрото на работния плот работи със семействата на 586 и 686. За да бъда честен, дори и в основата на системата за 486 ще работи на съвременни машини, така че при съставянето на техните собствени ядки, знаете, че за най-добрият вариант CPU производителност Тя трябва да съответстват на вашия процесор, за да работи ефективно с набор от инструкции.

Теч в пространството от имена

Преди имаше виртуализация, имаше един набор от обекти между процесите Communications - IPC, (споделени сегменти памет, съобщение опашки и семафори), които се използват за същността на всичко. Но виртуалната среда трябва да запазят своя собствена IPC вътре в контейнери, без възможност за изтичане. Той е включен в ядрото на сървъра (CONFIG_IPC_NS = ш, CONFIG_UTS_NS = Y) и не са включени в десктоп ядро. Означава ли това, че виртуалното пространство не е безопасна и има теч в ядрото при десктоп? (NB. Тази функция е по-скоро е необходимо да се еднозначно хеджиране срещу изтичане на информация за версията на сървъра)

И крайната разлика е, че ядрото сървърът поддържа множество таблици за маршрутизация, IPv6, че ядрото на работния плот не поддържа.