Доступ к памяти: выше 3-х с копейками

Не смотря на то, что тестирование 64-битной версии PCLinuxOS идёт полным ходом, официально в настоящий момент поддерживается только 32-битная версия этого дистрибутива. Что само по себе не страшно -- реально 64 разряда задействуются на ограниченных классах приложений, таких, как очень большие базы данных и очень жёсткое порно крипто. Простой пользователь вполне комфортно чувствовал бы себя и на 32-битной системе, если бы...

... если бы не одно, но очень жирное но:  32-битные ОСи в штатном исполнении не могут адресовать более трёх гигабайт с небольшими копейками -- в зависимости от "железа" и обстоятельств - 3,2-3,3 Гбайт. В этом легко удостовериться с помощью программы top. Так, на моей машине c 8 Гбайт памяти она показывает наличие лишь  ) А ведь нынче даже для ноутбуков 4 Гбайт памяти отнюдь не экзотика, а уж в десктопах легко можно увидеть и 8-16 Гбайт, например сервисный центр ноутбуков ремонтировал и с большими объемами. Причём, в отличие от чисто вычилительной разрядности, применение "лишней" памяти можно найти почти всегда -- скажем, в тех же виртуальных машинах.

В обсуждение причин отмеченного безобразия я здесь вдаваться не буду -- вкратце они описаны здесь, а подробнее расчитываю написать об этом в разделе Core Linux данного сайта. Пока скажу только, что ведётся это издревле, с первых машин архитектуры i386.

Впрочем, почти в столь же былинные времена был придуман и способ борьбы с отмеченным выше развратом: начиная с Pentium Pro, x86-совместимые процессоры поддерживают так называемый механизм PAE (Physical Address Extend), позволяющий поднять верхний предел адресации памяти до 64 Гбайт. Правда, не все x86, а так через один-два. Но зато механизм этот поддерживается ядром Linux ещё с тех времен, когда для большинства пользователей настольных персоналок даже 1 Гбайт памяти казался верхом роскоши.

Так что дело остаётся за малым -- этот самый механизм PAE включить. В отличие от мира Windows, где для этого требуется приобретение специальной версии с поддрежкой PAE, в Linux'е достаточно пересобрать ядро с включением соответствующих опций (каких -- было некогда описано). Однако в большинстве современных дистрибутивов такой необходимости не возникает -- ядра с поддержкой PAE обычно имеются в реопзиториях в прекомпилированном виде.

Не составляет исключения и PCLinuxOS. С помощью конструкции вроде

$ apt-cache search kernel | grep pae

мы легко находим сразу несколько таких ядер. Обращаем внимание, что имена некоторых из них содержат компонент bfs, например:

kernel-2.6.38.8-pclos3.pae.bfs - i686 linux kernel pae bfs scheduler

Это -- ядра, включающие планировщик (sheduler) Brain Fuck Scheduler (или BFS), разработанный Коном Коливасом и способствующий повышению быстродействия при интерактивной работе в условиях десктопа. То есть именно то, что нам надо. Так что получаем права администратора

$ su

и устанавливаем это ядро:

# apt-get install kernel-2.6.38.8-pclos3.pae.bfs

Затем, не выходя из сеанса суперпользователя, открываем файл /boot/grub/menu.lst в любимом текстовом редакторе и видим в конце его, в дополнение к имевшимся, новую секцию:

title 2.6.38.8-pclos1.pae.bfs
...

и так далее.

Обеспечиваем загрузку этой секции по умолчанию -- либо измиенением значения

default 0

либо переносом этой секции в первую позицию списка вариантов загрузки. И перезагружаем машину. И теперь с помощью всё той же программы top убеждаемся, что системе доступна вся оперативная память, физически имеющаяся в машине.


Назад || Главная || Вперёд

. .