Чем больше оперативной - тем хуже?
Добавлено: 2009-08-25 22:20:51
Поставил FreeBSD 7.0 на сервер с 16Gb RAM. Пересобрал ядро: включил PAE и заодно убрал все ненужные устройства. После загрузки решил до кучи включить поллинг и попытался еще раз пересобрать ядро. Но мейк вылетел с сообщением "Stop: signal 6" и при попытках продолжить сборку начались разные другие глюки типа сообщений "Cannot fork", "No more processes" в шелле и "vm_thread_new: kstack allocation failed" в dmesg. Как мне подсказывает гугль, для продолжения нормальной работы нужно увеличить значение параметра KVA_PAGES. Но это приведет к перераспределению 4Gb виртуального адресного пространства процесса в пользу ядра и в ущерб процессу.
Вопросы:
Вопросы:
- Зачем ядру столько памяти? Никаких других параметров, кроме включения PAE (и отключения модулей) я не менял. Зачем ядру, обслуживающему не 4Gb, а 16Gb больше памяти?
- Получается, что чем больше у меня оперативки, тем бОльшую часть от доступных процессу 4Gb я должен отдавать ядру? Где логика? Получается, что чем больше на машине оперативки, тем меньше ее у процесса.
- Рядом стоит другой сервер с 8Gb оперативы. Там я пересобирал ядро ровно таким же образом, но с нехваткой памяти в результате не столкнулся. Почему?