# полная оптимизация под athlon64

## linkerpro

hi!

есть gentoo 2006.1 i386

мой проц athlon64 3000

как можно максимально оптимизировать систему под данный проц?

Подскажите где копать? Если можно приведите свои примеры оптимизации!

вот мой /etc/make.conf:

cat /etc/make.conf

...

CHOST="i686-pc-linux-gnu"

CFLAGS="-march=k8 -O3 -pipe"

...

делал emerge world но прироста производительности вообще не заметно   :Sad: 

И как можно сделать полностью 64 бинтую систему??

----------

## Laitr Keiows

 *linkerpro wrote:*   

> И как можно сделать полностью 64 бинтую систему??

 

Для начала следует ознакомиться с соответствующей настольной книгой и FAQ:

http://www.gentoo.org/doc/en/handbook/handbook-amd64.xml

Faq сам найдешь на офицальном сайте.

----------

## mango123

Вот несколько строчек:

/etc/make.conf

CFLAGS="-march=athlon64 -O2 -pipe -msse3"

CHOST="x86_64-pc-linux-gnu"

CXXFLAGS="${CFLAGS}"

ACCEPT_KEYWORDS="~amd64"

MAKEOPTS="-j3"

mss3 - эту иструкцию понимают все амд64 на am2-сокете

MAKEOPTS="-j3" - это для компиляции... что бы использовалосось два ядра  :Wink: 

----------

## ZByte

 *mango123 wrote:*   

> Вот несколько строчек:
> 
> /etc/make.conf
> 
> CFLAGS="-march=athlon64 -O2 -pipe -msse3"
> ...

 

Ну это настройки для экстремалов или людей с большим количеством свободного времени  :Smile: )))))

Во первых, нет особого смысла глобально ставить ~amd64 только если ты "крутой" багрепортер  :Smile: )

Во вторых, вручную ставить флаги оптимизации это тоже зло, ибо опять же нестабильность можно получить жуткую

В третьих, athlon64 3000 это одноядерный проц и у него sse3 нет, только второй  :Smile: 

А вобще прирост ты и не заметишь, хорошо ещё что не было падежа  :Wink: 

----------

## f0rk

У меня стоят:

LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,now -Wl,--hash-style=gnu"

Эта оптимизация от проца и архитектуры не зависит...

Но небольшой прирост производительности заметен.

Правда для этого нужно сначала поставить последние binutils, затем с ними собрать glibc, а только потом пересобирать "мир"...

----------

## mango123

 *ZByte wrote:*   

>  *mango123 wrote:*   Вот несколько строчек:
> 
> /etc/make.conf
> 
> CFLAGS="-march=athlon64 -O2 -pipe -msse3"
> ...

 

Ну во первых: я не экстримал.  :Wink: 

просто уже давно привык сидеть на не стабильных ветках, т.е. на "~" ... тьфу-тьфу.. всё отлично. 

Флаги в основном ставлю сам. Лишее мне не надо... а кое-чего наоборот не хватает.

опять же - в стабильной ветке столько провереного барахла - коротое уже достаёт...

взять опять же.... см. мой пост про джабер - стабильная там версия 1.4.4 когда уже есть 2.0

форум phpBB... на его ж движке сдалан и форум генту... в которм мы и общаемся. Он в стабильной до сих пор "маскед"... 

2 linkerpro Я поищу немного позже...  были ссылки на оптимизацию под амд64. 

А про "прирост" форк прав - особо ничего и не заметишь  :Wink: 

----------

## Angel

У меня мать asus A8N-E, могу дать для неё основные файлы: /etc/make.conf & /usr/src/linux/.config

Это основа здоровой системы.

----------

## mango123

Как и обещал, вот линк на генту-вики по поводу оптимизации под конкретный процессор.

http://gentoo-wiki.com/Safe_Cflags#Athlon_64_.28AMD.29

Думаю, что статья будет полезна и для обладателей других процессоров.

----------

## lefsha

 *mango123 wrote:*   

>  MAKEOPTS="-j3" - это для компиляции... что бы использовалосось два ядра 

 

Если хочешь спать спокойно лучше никогда не использовать!!!

----------

## lefsha

 *linkerpro wrote:*   

> 
> 
> мой проц athlon64 3000
> 
> как можно максимально оптимизировать систему под данный проц?
> ...

 

Прежде всего найти статью про тотальную оптимизацию Gentoo

с помощью опций O9 итд.

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

со стандартными опциями.

В противном случае из noob по кол-ву вопросов как починить систему ты быстро

превратишься в ветерана. Не думаю, что тебе оно надо.

Если же хочется секса, найди девушку.

----------

## mango123

 *lefsha wrote:*   

>  *mango123 wrote:*    MAKEOPTS="-j3" - это для компиляции... что бы использовалосось два ядра  
> 
> Если хочешь спать спокойно лучше никогда не использовать!!!

 

брр... что за бред? 

Эта опция лишь нагружает два ядра по полной и всё... на качество сборки програм -это никак не влияет.

----------

## mango123

 *lefsha wrote:*   

>  *linkerpro wrote:*   
> 
> мой проц athlon64 3000
> 
> как можно максимально оптимизировать систему под данный проц?
> ...

 

 :Very Happy:   Видно, что до ветерана тебе не долго осталось.... что? О9 так повлияло ?

----------

## lefsha

 *mango123 wrote:*   

>  *lefsha wrote:*    *mango123 wrote:*    MAKEOPTS="-j3" - это для компиляции... что бы использовалосось два ядра  
> 
> Если хочешь спать спокойно лучше никогда не использовать!!! 
> 
> брр... что за бред? 
> ...

 

Я бы все такие посоветовал помолчать, когда не в курсе. Так оно лучше будет...

Хотите использовать по полной - собирайте 2 программы параллельно.

----------

## lefsha

 *mango123 wrote:*   

>  *lefsha wrote:*    *mango123 wrote:*    MAKEOPTS="-j3" - это для компиляции... что бы использовалосось два ядра  
> 
> Если хочешь спать спокойно лучше никогда не использовать!!! 
> 
> брр... что за бред? 
> ...

 

И еще такой совет. Умные люди обычно тем и отличаются от глупых, что слушают,

когда им по делу говорят. И обычно понимают, что если им что-то кажется или

они так считают это далеко от состояния когда они что-то знают и имеют опыт....

Так что принуждать я никого не принуждаю, а вот на вашем месте бредом это называть постеснялся...

----------

## mango123

 *lefsha wrote:*   

>  *mango123 wrote:*    *lefsha wrote:*    *mango123 wrote:*    MAKEOPTS="-j3" - это для компиляции... что бы использовалосось два ядра  
> 
> Если хочешь спать спокойно лучше никогда не использовать!!! 
> 
> брр... что за бред? 
> ...

 

Сорри, что может повёл себя, скажем так, не очень тактично... прошу не принять за личный наезд.

Хочелось бы услышать обоснования, про -j3... если я уж чего то не знаю

----------

## Angel

"Хочелось бы услышать обоснования, про -j3"

Могу подсказать интересный сайт www.kernel.org

Собственно линух и состоит из конфигов.

Вы чего его мышкой ставили?

А генту это сборка.

Там архивчик распаковывается stage, и говориться для компилятора что делать:

Пример:

# These settings were set by the catalyst build script that automatically built this stage

# Please consult /etc/make.conf.example for a more detailed example

CFLAGS="-O2 -march=athlon64 -pipe"

CHOST="x86_64-pc-linux-gnu"

CXXFLAGS="${CFLAGS}"

AUTOCLEAN="yes"

MAKEOPTS="-j2"

USE="-gnome qt nvidia i8x0 gtk xmms xvid mplayer xine kde dvd userlocales alsa cdr pcre php apache session unicode X mysql dvdr dvdread 3dnow a52 opengl cli aac acpi apm audiofile bzip2 cdb cdparanoia crypt cups encode esd examples flac ftp gd gif glut gpm graphviz gstreamer jpeg jpeg2k nas nls ogg oggvorbis pda pdf png quicktime samba svg tiff usb v4l vcd vorbis zlib mp3 ldap"

LINGUAS="en ru"

----------

## lefsha

 *mango123 wrote:*   

> Сорри, что может повёл себя, скажем так, не очень тактично... прошу не принять за личный наезд.
> 
> Хочелось бы услышать обоснования, про -j3... если я уж чего то не знаю

 

Все очень просто. Некоторые программы просто не собираются при j > 1.

Объяснение простое. При параллельной сборке какая то часть исходников может собрать раньше другой и потребовать готовый объектный файл, который не успел к тому времени

собраться. В итоге процесс сборки обрывается с ошибкой.

Иногда вообще странные вещи происходят. Бывает это не часто, но!

gentoo расчитан на сборку из исходников и если Вы собираете world, то есть вероятность,

что она оборвется в самом начале. И тогда потерянным оказывается день, а иногда

и целые выходные.

Если же во время сборки Вы присутствуете за машиной, то Вам нужные процессорные ресурсы и отдавать все на сборку тем более глупо. У меня вообще portage стоит на NICE=20, чтобы не мешать работе.

В итоге имеем, что при выставленной опции j1 сборка может оказаться быстрее

на целые дни!!!

Обо всем этом можно почитать на англоязычной версии данного форума.

----------

## lefsha

Кроме того, иногда, как в документации как и на форуме проскакивают неверные советы, которыми лучше не пользоваться. Отличить умный и правильный совет от другого не так то и просто, тем более для новичка.

Например, достаточно легко найти совет использовать программу hdparm

для включения всех режимов ускорения на диске, что не только не верно,

но и вредно для стабильно работающей системы.

Иначе говоря, если цель поиграться и показать свою крутость - можно и выпендриться.

Но зачастую, это может привести к слету файловой системы.

Например, есть достаточно число товарищей, которые жалуются на падения

Reiserfs и обвиняют в этом саму файловую систему.

Проблема лишь в том, что в сложном оборудовании, каковым является современный

компьютер далеко непросто вычленить проблему и с полной уверенностью

заявить что именно послужило падению той же системы.

Так вот, тот же hdparm хорош только для опроса дисков на работу в DMA режиме.

При загрузке в стартовом скрипте он может привести к падению файловой системы.

Об этом хорошо написано у NeddySeagoon.

Так что любые советы надо слушать с осторожностью.

Потому как бывают товарищи, которым кажется, что они все знают

и они начинают раздавать советы направо и налево...

Так что если не уверен на все 100 в своей правоте лучше помолчать, новичку от этого только польза будет.

Со своей же личной системой можно делать все что угодно, хоть молотком бить.

----------

## viy

Насчет *lefsha wrote:*   

> 
> 
> При параллельной сборке какая то часть исходников может собрать раньше другой и потребовать готовый объектный файл, который не успел к тому времени
> 
> собраться. В итоге процесс сборки обрывается с ошибкой.

 

Это недочет make как программы --- некорректно строится дерево зависимостей файлов друг от друга.

Насчет падения ФС --- согласен, у меня что-то необъяснимое временами с XFS твориться.

А вообще я буду пересаживаться на kubuntu.

----------

## lefsha

 *viy wrote:*   

> Насчет падения ФС --- согласен, у меня что-то необъяснимое временами с XFS твориться.

 

hdparm включен?

 *viy wrote:*   

> А вообще я буду пересаживаться на kubuntu.

 

Причины?

----------

## viy

 *lefsha wrote:*   

> hdparm включен?

 

да... -a256A1c1d1m16u1

 *lefsha wrote:*   

> Причины?

 

Приходиться много их администрить и захотел лучше познакомиться с нюансами. Плюс организация всего мне там больше по душе.

Опять таки, держать сервер под debian'ом мне кажется разумней, т.к. я предпочитаю разделять среды продукционную и разработческую. Это к тому, что gcc на сервере не нужен, и даже опасен.

Ну и надо иногда что-то менять. Возможно, чтобы пожалеть, но это потом...

----------

## lefsha

 *viy wrote:*   

>  *lefsha wrote:*   hdparm включен? 
> 
> да... -a256A1c1d1m16u1
> 
> 

 

ну так а кто же тебе злобный Буратино???   :Laughing:   :Laughing: 

У меня тоже были странные проблемы  с FS и как только выключил этот бред,

все пропало.

 *viy wrote:*   

> 
> 
> Приходиться много их администрить и захотел лучше познакомиться с нюансами. Плюс организация всего мне там больше по душе.
> 
> Опять таки, держать сервер под debian'ом мне кажется разумней, т.к. я предпочитаю разделять среды продукционную и разработческую. Это к тому, что gcc на сервере не нужен, и даже опасен.
> ...

 

-1. Я сам очень много раз порывался убежать...  :Wink: 

0. В этом смысле мое отношение к системе выражено каждый раз внизу поста.

1. Все! Linux-и нестабильны. Причин несколько. С одной стороны постоянная разработка. С другой несогласованная разработка. Свободная так сказать.

Чтобы система казалась кривой и неудобной достаточно хотя бы одного неработающего приложения. Вот на сегодняшний день это отсутствие переключения из X в консоль....

2. Если все делать правильно, то админить много Gentoo машин тем более одинаковых

гораздо легче чем в любом другом дистрибутиве.

3. Замечание на разделение серверных машин и машины для сборки системы

совершенно верное. Но! До разработчиков это пока не доходит.

Это на самом деле очень раздражает, что они не прислушиваются ни к чьему

мнению.

4. Fork Gentoo был бы самым приятным событием касающейся линухов.

Я все жду когда же наконец до кого-то дойдет, что то что есть сейчас

имеет кучу недостатков.

5. Я не очень в курсе. Если собираешь бинарную программу, то остается ли зависимость

от компилятора? Или его можно без проблем удалить?

6. На счет сервера замечание вроде бы верное, но! серверов не бывает!

Сервер он всегда чего-то сервер. В этом смысле обновлять программы на нем все таки надо. И выход новых версий случается чаще чем обновляется дистрибутив.

7. На счет времени. Я очень сомневаюсь, что на другой дистрибутив надо меньше

времени на поддержку. Ведь поддержка нужна только тогда, когда что-то меняется

в системе. Если менять так же часто как и в debian, то и поддержка будет занимать

столько же времени. Особенно если идти позади паровоза. Тогда большинство

проблем будет решено до тех пор пока с ними сталкиваешься.

В этом смысле была бы интересна опция - выдержка.

Иначе говоря стабильный пакет должен иметь определенную выдержку

задаваемую пользователем, чтобы быть установленным в систему.

Обнаружение бага должно выкидывать приложение из списка стабильных

и обнулять выдержку у его обновления.

В этом смысле база багов должна быть общая для всех дистрибутивов.

Но это общая проблема Linux - в нем не хватает координирующего центра.

----------

## viy

После того, как прога собрана компилятор не нужен. Поэтому на то же ubuntu он по умолчанию не ставиться.

Для Gentoo я бы хотел видеть возможность скачивать бинарные пакеты, собранные для определенной архитектуры (то, что готофиться утилитой quickpkg и ставиться emerge -kv ...). Т.е. это подразумевает "переключить" emerge только на работу с бинарниками и полностью "запретить" исходники. Только это было бы уже большим шагом вперед!

Ну а дальше было бы здорово увидеть разделение пакетов (вроде postgresql) на набор из сервер+клиент+библиотеки+фишки+доки. Хотя это разделение может быть легко реализованно на уровне USE-флагов, так что ничего особо даже придумывать не надо. Просто должен быть готовый набор соответствующих бинарников.

----------

## lefsha

 *viy wrote:*   

> После того, как прога собрана компилятор не нужен. Поэтому на то же ubuntu он по умолчанию не ставиться.
> 
> Для Gentoo я бы хотел видеть возможность скачивать бинарные пакеты, собранные для определенной архитектуры (то, что готофиться утилитой quickpkg и ставиться emerge -kv ...). Т.е. это подразумевает "переключить" emerge только на работу с бинарниками и полностью "запретить" исходники. Только это было бы уже большим шагом вперед!
> 
> 

 

Это уже есть. Смотри Bintoo...

----------

## mango123

 *lefsha wrote:*   

> 
> 
> Это уже есть. Смотри Bintoo...

 

Спасибо. интересно... 

https://forums.gentoo.org/viewtopic-t-534703-highlight-bintoo.html

----------

