Сегодня подписчики red hat network получили письмо, из которого следует, что следующий релиз Red Hat Linux будет иметь номер версии 9 и будет доступен для платных подписчиков с 31 марта 2003 года
А я хочу рассказать несколько иную историю. Как раз про ораничение в 32 бит. Была оракловая база на Sun4500. База и кол-во юзеров со временем выросло - сервачек начал тормозить. Встал вопрос об апгейде(а точнее замене - так получалось дешевле). Начальник IT начитался в инете статей типа (Linux - это надежность unix и простота виндовс, а интел - на порядки мощнее risk за ту же цену). в итоге приобрели пару Compaq Proliant DL580G2(вначале primary/standby - а в дальнейшем RAC чтоб организовать).
Водрузили на серваки redhat 8.0. А надо сказать что памяти на одном из серваков стояло для начала 6 Гиг. С оригинальным кернелом 2.4.18-14-64G начались траблы - при создании tablespace (или просто большого файла, с кернелом случалось что-то нехорошее - Все начинало жутко тормозить(вход на консоль занимал что-то около 20 мин - и чем дольше работала система - тем медленне выполнялись на ней задачи. Часов через 5-6 работать становилось невозможно - войти на консоль нереально в течении часа, Если запустить top(прчем первое обновление произойдет тоже порядка через час) - тот покажет загрузку всех процессров на 99.9% system-oм от самых элементарных команд типа login(это я вхожу на консоль) и ls - пытаюсь просмотреть файлы в директории. После создания файла ситуация не меняется. Помогает перезагрузка. Попробовал поработать на других кернелах - в том числе на 2.4.19 от suse SLES8 - те же яйца только сбоку.
Любой из кернелов видящий до 4 Гиг работает совершенно нормально - без единого нарекания(пока). Долго лазил по инету в поисках соратников (у кого бы линух пахал на памяти более 4 Гиг) - нашел только одного - (однако как я понял память у него используется в пределах 4 Гиг) и пока он остановился на другой проблеме(на линухе этом стоял оракл) - не может добиться кол-ва сессий более 400+приемлемая скорость работы.
Далее - это не по теме - но оба слабодокументированных ухищрения получить SGA на оракле(9.2) более 1.7 Гиг - ни к чему хорошему не приводят - тот регулярно падает(ошибки приводить не буду - кому интересно все опишу подробнее по почте). Короче - после после полтора месяца тестирования всяких конфигураций (причем кроме меня независимо это делал еще один человек), можно сделать такой вывод: Реально на данный момент работать на линухе с не более 4 Гиг (с кол-вом процессоров вроде проблем нет - по крайней мере до 4-х) и с ораклом с sga не более 1.7 гиг на нем.
Народ! Не ведитесь на дешевую рекламу - мощные сервера и ресурсоемкие приложения - пока не для Linux! Кажется здесь еще предстоит долгий путь отладки и тестирования.( И крики оракла о переходе на линух -
чушь - кажется до сих пор primary platform остается SparcSolaris)
Однако могу подтвердить по поводу sparc/intel - Compaq Proliant DL580G2 4G Ram 2xIntelXeon1.6Ghz SmartArray5i на оракле в 1.5-2 раза быстрее SunEnterprise4500 с 6xUltraSparc2-333Mhz 3G RAM A1000.
Хотелось бы конечно сравнить с Compaq современный Sun Fire V880 в конфигурации за ту же цену - но к сож. нет такой возможности...
Несомненно. В Linux kernel mailing list.
From: Alan Cox <alan@lxorguk.ukuu.org.uk>
To: Florian Weimer <fw@deneb.enyo.de>
Subject: Re: Ptrace hole / Linux 2.2.25
Message-Id: <1048458288.10712.78.camel@irongate.swansea.linux.org.uk>
Date: 23 Mar 2003 22:24:49 +0000
2 anonymous (*) (2003-03-26 10:13:38.748793) Достал ты со своим Compaq. Сначала посмотреть hardware comp. list для того же RHAS или SLES ума не хватило? Да и обычную восьмерку поставить на сервак - где ты траву такую береш?
nazarov_serg303: сорри за оффтопик - а насколько лучше на таких серваках как вы купили оракл под виндой работает (если сравнивать конифгурации с 4ГБ и с бОльшим кол-вом памяти отдельно)?
Ну кого и достал - а кто и первый раз этот пост увидел...
Все это чтоб народ не получил неожиданного гемороя, приобретя мощный intel и собираясь водрузить на него линух.
hardware comp. list конечно читал - не помнбю что там с RedHat, но SLES8 он точно сертифицирован(причем в конфигурвции с 2 Гиг RAM).
Но признаюсь, я на это не обратил внимания - я-то привык сколько в сервак ОЗУ ни вставь - ОС со всей прекрасно работает - вот и народ при покупке этого сервачка может думать - вставлю-ка я по полной 32Гиг RAM -( благо она дешевая - не то что у IBM или SUN) - то-то все летать будет! Фиг вам!! Несмотря на широчайший ассортимент кернелов-64Гиг - ни один из них у меня не завелся как надо.
Тому подтверждение - посмотри на сертифицированные ,Compaq-ом например, конфигурации с предустановленным линухом - везде кол-во ОЗУ 1-4 Гиг. И это на серверах, поддерживающих 8-32 Гиг!!
Потом вопрос - если кернел-64 такой же хороший как и кернел-4, то зачем их вообще разделять? Почему нет единой линейки SMP-64Гиг кернелов, которые работают на любом кол-ве процов и памяти(до известного ограничения) - как например у AIX или Solaris?
А насчет обычной "восьмерки" не понял?
Ты имеешь ввиду нужно ставить полностью RHAS2.1 или SLES8?
По какой же тогда причине недостато кернелов от них?
По кругу ходим? Для готовых решений разница в том, что вместо конструктора на основе которого можно получить готовое решение, мы получаем монолит, который или уже есть готовое решение для какого-то узкого класса задач, или не подходит под решение абсолютно и чотбы он подходил, нужно самостоятельно весь монолот превратить в конструктор...
В данном случае кусочное цитирование сути не искажает.
Даже если из фразы "Дебиан - это толпа пионеров, правда очень когда дело доходит до security, очень профессиональных пионеров" выкинуть вторую часть, ничего не изменится.
Насколько хорошо работает под Windows Compaq в такой конфигурации - не знаю(не пробовали).( Но очень бы хотел знать, если у кого есть подобный опыт(кажись я не на том форуме :)))
Просто переренос с Solaris на Win оракла много сложней чем на линух -
скрипты там перелопатить, в конторе нет спецов по Windows и т.п.
Кроме того не нашел ответа на такой вопрос - У нас тестовой базы как таковой нету. Программеры сидят на рабочей - часто ошибаются - например - бесконечный цикл - сессия начинает жрать системные ресурсы.
kill session в оракле далеко не всегда помогает(несмотря на то что сессия killed - oraclesid в ОС продолжает иметь системные ресурсы - кардинальная мера - kill юзерового процесса в ОС. У Windows оракловые сессии - не процессы а потоки. Если кильнуть поток - процессор освободится, а вот память нет (Это теория). На практике возможно у виндузового оракла нет таких проблем как у Solaris-ового - там оракловый kill выносит юзеровый поток на раз.(Оракл у нас перезапускать так часто не получится - база должна быть доступна круглосуточно/месячно/.. - кроме заранее запланированных часов.) В общем на Windows oracle надо пробовать, тестировать и т.п. мы пока еще этим не занимались - да кажется не многие могут поделиться по какой-то причине опытом администрирования 40 Гиг базу/300 сессий/до 30 активных на Windows (На линух иногда такие встречаются)
Вот так!
Наверное да, хотя есть коммерческие продукты под FreeBSD.
Или на часы портировать ?
Тогда лучше посмотреть на NetBSD.
Дык они и не говорят, что фря это на все случаи жизни.
"It provides robust network services under the heaviest loads and uses memory efficiently to maintain good response times for thousands of simultaneous user processes"
Вот основная цель проекта. С которой она справляется блестяще.
<quote> 19. Maximum Physical RAM
1 Dec 2002 (4 posts) Archive Link: "Maximum Physical Memory on 2.4 and ia32"
Topics: Big Memory Support, FS: ext2
People: Andrew Morton, Martin J. Bligh, Stephen Rothwell
Stephen Rothwell quoted a statement from Red Hat in which they said their 2.4-based operating system would support no more than 16G of RAM. He asked why this limit existed. Andrew Morton replied:
It's a practical limit. The mem_map array alone would consume 720 megabytes, so you have no normal-zone memory left.
At 16G, mem_map[] consumes 180 megabytes and there's 540ish megabytes of normal zone left for general use.
Even at this 20:1 highmem:lowmem ratio, the system will be struggling. Any time you have normal-zone data structures which are pinned by pages, the maths gets you in the end.
buffer_heads, pagetable pages, radix-tree nodes, pte_chains and inodes are normal-zone data structures which, depending on the kernel version, may be pinned into the normal zone by highmem pages.
In 2.5, with ext2's no-buffer-head option, shared pagetables, highpte, with your fingers crossed and the wind in the south east, 32G might be practical.
And Martin J. Bligh added:
32Gb was indeed what we've been working towards for 2.6, and we've been running that on some workloads.
However, if you're willing to run with a 2:2 or even a 1:3 user:kernel split instead of the default 3:1, you can get away with all sorts of things, probably including 64Gb. I've got the hardware to build such a beast, but haven't bothered yet (we have enough problems already ;-)). Big databases won't like it, but other workloads without huge individual processes (or shared mappings) will be fine.
</quote>
По-моему тут все достаточно ясно
С уважением, ryabinkin
Как они такого добились - в толк не возьму! Подняли кучу оракловых инстансов?( у каждого небольшая SGA) - т.е. организовали oracle RAC на одной машине? Или что-то другое придумали?
вот тут , поближе к теме - http://www.linuxcompatible.org/story18025.html
какжется там серьезные изменения из-за нового ядра -
программы не будут некоторые работать (jvm)...
если так , грядут изменения во всех дистах , или как ?
green> Я высказал свое видение одной из проблем с FreeBSD, тем кто собрался туда идти. Предупредил, так сказать.
Кроме тебя проблему противоестественного скрещивания либцов с кернелом из разных версий почему-то никто не увидел.
Видимо потому, что люди не извращаются, а серваки ставят.
А для этого FreeBSD подходит как нельзя лучше.
Кстати говоря, количество системных вызовов во Фре от версии к версии растёт намного медленнее, чем в линуксе.
Так что, потенциально (имхо), такие вещи во фре повлекут меньше проблем.
А не делают этого, потому, что это нафиг никому не нужно (имхо).
4anonymous (*) (2003-03-26 17:20:37.454067):
Олега не победить, потому что у него сила - в правде.
4green:
Ты таки скажи уже - зачем? ;) Не "я так хочу" (я знаешь, скоко всего хочу - ууу), а конкретную цель? Я полемизировать больше не собираюсь, мне просто интересно.
Как один из примеров: Затем, что в той libpthread что идет в комплекте с 4.1-RELEASE есть ошибка из-за которой не работает mysql. И поэтому я хочу другую libpthread. А все остальное меня устраивает, и все остальное я трогать не хочу.
Достаёшь из cvs свежую libc_r. Изучаешь код на предмет тех правок, что тебе нужны. Делаешь из них патч, накладываешь на старую libc_r. Компиляешь, инсталляешь.
> потому как в шапке есть стройная система.
> Фря - вообще нездоровый монолит, который рассыпается на куски при
> попытке отколоть от него кусочек. Сам все увидишь ;)
Ну дорогой, а ты попробуй "стройный" редхет с версии 4 до версии 8 из сорцов собрать как это с пол-пинка делает "нездоровый" монолит Фря с 3-ей по последнюю 5-ую включительно без малейшей потери функциональности. И одной(в сложном случае с двумя) перезагрузкой.
Отколоть кусочек ? Какой именно ? Есть в моем хозяйстве разновидности от тупейшего маршрутера лишенного всех радостей жизни - телнеты , эсэсашы и компиляторы-трансляторы (в простонародии victim), до полномасштабного сервера (эх для счастья openldap-а не хватаить =)....).
Сам пользую и то и другое. И редхет давно уже год как ушел в глубины внутренней сети из-за того, что обновления к нему "задерживаются", не-е-е бесспорно кернелы идут только успевай ставить.
А бинд? А апач ? А ссл ? Это серверные фичи и на десктопе они так срочно не нужны ?
Окей. Прикидываюсь мерзким ламерзом и ору "ХОЧУ Гном 2.2!", да какой 2.2 - 2.0 нет. Зато будет версия 9....
Ээээх. Как там у Пушкина ?
"Я вас любил. Любовь еще быть может...."
---------
А Фрю не обижайте. -=)
2nazarov_serg303
Вдогонку
http://www.redhat.com/whitepapers/rhel/OracleonLinux.pdf Почитай, там все есть.
Про ядро и RHAS 2.1:
В ядре 2.4.x (и от RedHat и с kernel.org) есть поддержка shmfs, заодно почитай и про это, в жизни пригодится :-)
P.S. При загрузке ядра включи Big Pages
P.P.S. Правильно установи /proc/sys/kernel/shmmax
P.P.P.S. А в чем проблема самому собрать "Enterprise" ядро с поддержкой BIGMEM?
P.P.P.S. На крайняк, купи RHAS(ES) и не парь сам знаешь что :-)
Удачи, читайте маны, от этого еще никто не умирал :-)
Как потом узнать что у меня стоит новая libc_r?
Как это проделать без необходимости держать все дерево сырцов? (сервер - штука такая, idle time - 0, некогда компиляться, работу нужно делать).
Гм, из сырцов? лехко.
cd /usr/src/redhat/SRPMS ; for i in * ; do rpm --rebuild $i ; done
Причем ни одной перезагрузки не требуется (кернел правда старый остается).
Обновления к RH обычно не задерживаются. просто версия держится старая, к ней просто багфиксы идут, без новых фич (что и логично, зачем тащить все новые баги из новых версий, лучше тянуть только фиксы). Обновления RH обычно выходят раньше чем обновления для FreeBSD (для одних и тех же ошибок).
А если тебе нужно все самое новое - делай как я - тяни все самое новое из rawhide.
По поводу отколоть кучсочек - и ты вот так сходу возьмешь и скажешь где у тебя какой кусочек отколот/заменен/новый добавлен? нюню.
>Вдогонку
>http://www.redhat.com/whitepapers/rhel/OracleonLinux.pdf
>Почитай, там все есть.
>Про ядро и RHAS 2.1:
>В ядре 2.4.x (и от RedHat и с kernel.org) есть поддержка shmfs, >заодно почитай и про это, в жизни пригодится :-)
>P.S. При загрузке ядра включи Big Pages
>P.P.S. Правильно установи /proc/sys/kernel/shmmax
>P.P.P.S. А в чем проблема самому собрать "Enterprise" ядро с >поддержкой BIGMEM?
>P.P.P.S. На крайняк, купи RHAS(ES) и не парь сам знаешь что :-)
>Удачи, читайте маны, от этого еще никто не умирал :-)
OracleonLinux.pdf - моя настольная книга :) Не помогает :(
SQL> startup
ORACLE instance started.
Total System Global Area 3222345360 bytes
Fixed Size 452240 bytes
Variable Size 1073741824 bytes
Database Buffers 2147483648 bytes
Redo Buffers 667648 bytes
Database mounted.
Database opened.
SQL>
Что ты этим хочешь сказать? У меня SGA была 5.5 Гиг (или ты хочешь сказать - что следут сделать exactly 3.2Гиг как у тебя и все проблемы решатся? В таком случае мне это не походит - база у меня DWH - под SGA хочу иметь окого 10Гиг.
Пробовал я все (и /dev/shm и перелинковывал оракл to low mapped address - вторая уловка позволяет поднять SGA максимум только до 2.7 Гиг в отличии от использования use_indirect_data_buffers)
Big Pages включал и отключал ...
Что значит - "Правильно установи /proc/sys/kernel/shmmax "?
У меня стоит по максимуму - 4 Гиг минус 1 байт (впрочем я его тоже варьировал .
Ядро с поддержкой BIGMEM собирал (впрочем я думаю стандартное от SLES8 k_smp-2.4.19-145 ничуть не хуже будет....)
RHAS купили - уже едет из америки - через неделю будет. Посмотрим что скажут в техподдержке...
В итоге проблемы 2:
Одна с линухом, вторая с ораклом.
1. Если я использую кернел-64Гиг и памяти физически более 4Гиг. Причем если не запускать приложение, потребляющее много памяти, то все Ок. (Но мне-то нужен оракл с большой SGA!!) Иначе, как я уже писал - кернел начинает "мерзнуть"
2. В независимости от того, какой кернел использую и кол-ва памяти в системе, а так же от размера SGA у оракла, если я использую перелинкованный оракл или оракловые буфера на /dev/shm, оракл падает даже при небольшом кол-ве активных сессий ( в alertlog-е соответствующие ошибки - если интересно подробнее - давай почту).
В общем если хочешь повторить эксмипимент(заморозить линуксовый кернел), проделай следующее:
1.Возьми машину с памятью более 4Гиг(естественно процессор(ы) должны быть Xeon. Любой другой из интеловских 0x86 более 4-х Гиг просто не увидит - сам знаешь). Установи на него любой дистрибутив линуха (можешь даже лично скомпилить кернел с BIGMEM.). Файловая система - ext2(ext3). Установи на машинку оракл 9.2 (можешь его пропатчить если угодно).
2. Воспользуйся use_inirect_data_buffers(/dev/shm). Sga должна быть более 4Гиг. Стартани idle инстанс и попробуй создать базу, причем таблеспейс (хотяб один) должен быть не менее 10Гиг.
Если за 8 часов дождешься окончания создания базы(и сможешь после этого за менее чем 20 минут зайти на локальную консоль машины) - я несу полную чушь и у меня кривые руки.
Далее;
Если хочешь положить оракл9.2(пропатченный всеми возможными патчами):
Не имеет значения - какой кернел, какой размер SGA и базы. Главное чтоб оракл прелинокован to low mapped address или в initora стоит use_indirect_data_buffers=true. Запусти на нем 300 сессий (и не менее 100 активных).
Если инстанс продержится более 8 часов - у меня опять таки кривые руки и больше на мои заявления на этой конференции все могут не обращать внимания.
.. Ну ручками то это и время занимает и удовольствия никакого не приносит. Я просто хочу поставить операционку и чтоб она работала по-человечески. На фига тогда вообще эти дистрибьюторы нужны если приходится ручками собирать? Людям работать надо а не ковыряться в настройках.
Поставил вот Бамбуууууууууу :) Сидишка уже в помойке.
Твоя ситуация сродни такой: ты сидишь на дистрибутиве, основанном на glibc 2.0, с соответствующим окружением. В 2.1 поправили какой-то важный для тебя баг. Ты уверен, что сможешь просто так вот взять - и заменить 2.0 на 2.1, не меняя при этом ядро?
<---Ну ручками то это и время занимает и удовольствия никакого не приносит. Я просто хочу поставить операционку и чтоб она работала по-человечески. На фига тогда вообще эти дистрибьюторы нужны если приходится ручками собирать? Людям работать надо а не ковыряться в настройках.--->
А я как раз и не про собирать говорю. Настраивать всё равно что-нибудь да придется. Например DNS или DHCP какой-нибудь за тебя никто не настроит. Юникод просто уберёт одну огромную проблему - локаль, по настройке которой советов вагон и маленькая тележка, у каждого свой метод, а у тебя всё равно косяки.
<---Поставил вот Бамбуууууууууу :) Сидишка уже в помойке.--->
>Затем, что в той libpthread что идет в комплекте с 4.1-RELEASE есть ошибка из-за которой не работает mysql. И поэтому я хочу другую libpthread. А все остальное меня устраивает, и все остальное я трогать не хочу.
Я куею с вас, дорогая редакция.
Глобальная проблема монолитности ядра FreeBSD !
Все BSD сообщество в трауре :(
А почему бы просто не поставить релиз, рекомендованный
для production use, и не ипать людям мозги своими
детскими психосексуальными проблемами ?
"Я высказал свое видение одной из проблем с FreeBSD, тем кто собрался туда идти. Предупредил, так сказать."
Дети, дядя Грин сказал, что фряха сакс, не ходите в Африку гулять.
В Африке питоны,
В Арике гориллы,
И такие странные,
Зеленые Чудилы
На raw не пробовал.
Надеюсь поможет кернелу не "замерзать"(хотя не уверен).
Но смысла пока не вижу пробовать - пока не удасться добиться устойчивого оракла + большая SGA(т.е. решить проблему оракла(не линуха)),много памяти под линуксом не нужно. Но дело-то не в этом! Речь-то изначально шла о том, что anonymous (*) (2003-03-25 17:07:50.182308)(не ты ли случаем? :) поставил под SAP R/3
линух и все этому рады. Я просто рассказал об обратной ситуации - когда в теч. полутора месацев с пом. кувалды и др. рихтовочных инструментов пытаются безуспешно внедрить линукс.
> kde и баш - это порты, как насчет пересобрать/поставить ддругую версию
> чего-нибудь наподобие libc/pthreads/kernel (что-нибудь одно) не трогая
> всего остального?
1. cd /usr/src/sys; cvs update -D<week ago>
cd i386/conf; config KERNEL
cd ../compile; make depend all install; reboot
2. cd /usr/src/lib/libc; make clean all install clean
cd /usr/src/lib/libc_r; make clean all install clean
Только вот зачем нам Linuxоидный спорт? У нас всё-таки _система_ с интегрированными компонентами и развивается она как _целое_. В чём смысл установки нового ядра без соответствующего окружения?
Linux - сборный конструктор из кубиков с плохо подобранными гранями.
Как говорят в любимом мультфильме моей дочки - глупый ты, зелёный...
2nazarov_serg303
>Что ты этим хочешь сказать? У меня SGA была 5.5 Гиг (или ты хочешь сказать - что >следут сделать exactly 3.2Гиг как у тебя и все проблемы решатся? В таком случае >мне это не походит - база у меня DWH - под SGA хочу иметь окого 10Гиг.
Нет, все проблемы решаются только в гробу :-). Сегодня провел эксперимент с базой, сделал Database Buffers 4.6 Gb, НО !!! памяти только 7 гиг, а из опыта работы с Oracle рекомендуется SGA ~ 0.5 Physical Memory [PM] (не забывай, что на каждое соединение с базой расходуется и память тоже, в твоем случае ~300 sessions SGA должно быть меньше 0.5 PM, кстати, сервер работает в dedicated или shared режиме, плюс buffer,cached,sys,sysprogs ...). Кстати, а сколько памяти на сервере?
>Что значит - "Правильно установи /proc/sys/kernel/shmmax "? У меня стоит по максимуму - 4 Гиг минус 1 байт (впрочем я его тоже варьировал .
/proc/sys/kernel/shmmax должно быть PM/2 (по рекомендации Oracle)
database buffers must be < size /dev/shm
/proc/sys/kernel/shm-use-bigpages=2
size bigpage subsystem must be < SGA size
не забудь про lilo.conf
append="bigpages=6000MB" (пример)
>(Но мне-то нужен оракл с большой SGA!!) Иначе, как я уже писал - кернел начинает "мерзнуть"
"большая SGA" не всегда есть хорошо при таком количестве сессий, настраивай другие параметры Oracle. Кстати, еще существует ulimit и ограничения Oracle (profile). "Замерзания kernel" всего лишь большой load average, разберись почему, все средства для этого есть.
>Установи на машинку оракл 9.2 (можешь его пропатчить если угодно). 2. >Воспользуйся use_inirect_data_buffers(/dev/shm). Sga должна быть более 4Гиг. >Стартани idle инстанс и попробуй создать базу, причем таблеспейс (хотяб один) >должен быть не менее 10Гиг.
Экстрим, конечно :-), а зачем такие издевательства? :-), SGA была > 4G, размер tablespace увеличиваем только после создания базы :-) (размер .dbf=2000M, размер USERS tblsp = 8000Mb). На создание базы ушло ~ 50 минут. После этого при импорте пришлось добавить еще несколько файлов в USERS, полет нормальный :-)
В процессе создания USERS нагрузка выростала до 8-9, но "freeze" не было :-)
К сожалению, проделать тест с 300 сессиями, из которых 100 активны не было необходимости, у нас задачи другие, 5-10 сессий, которые шерстят всю базу (порядка 70гиг).
P.S. C Oracle 9i пока опыт небольшой, в основном 8.1.7.х, максимальный load average был ~ 20-30 (и около 60, когда погиб SCSI диск и потянул за собой контроллер :-)).
P.P.S. А для критичных к простою задач существуют кластера и load balansing %-)
P.P.P.S. Ошибки бывают в любом софте, главное (для админа) разобраться, почему они происходят и найти приемлемое решение :-)