LINUX.ORG.RU

Скорость компиляции или march


0

1

Виртуальный сервер на VirtualBox. Хостовая ОС CentOS 5.5 — Linux Virt1 2.6.18-194.32.1.el5 #1 SMP Wed Jan 5 17:52:25 EST 2011 x86_64 x86_64 x86_64 GNU/Linux.
Гостевая ОС так же CentOS 5.5 — Linux localhost.localdomain 2.6.18-194.32.1.el5 #1 SMP Wed Jan 5 17:52:25 EST 2011 x86_64 x86_64 x86_64 GNU/Linux

Виртуальный сервер стоит без иксов, то есть полностью установить драйвера vbox не удалось, так как застревает на ошибки установки интеграции экрана, но сам модуль ядра успешно установлен....

Процессор хостовой ОС —
processor : 5
vendor_id : AuthenticAMD
cpu family : 16
model : 10
model name : AMD Phenom(tm) II X6 1055T Processor


Проблема 1:
Если в cmake указывать флаг -DCMAKE_C_FLAGS="-march=prescott -m32 ... " то компиляция делается просто на лету и готовый проект получается за минут 30 на 2х ядрах. Но при такой компиляции стабильно раз в сутки-двое сервер падает в кернел паник с ошибкой kernel panic not syncing fatal exception in interrupt.
Решил исправить это дело и начал собирать как положено — -DCMAKE_C_FLAGS="-march=amdfam10 -m64 ... "
Но при компиляции с таким cmake'ом проект компилируется около 2х часов так же на 2х ядрах. Дайте мудрых советов что делать и как правильно выбрать march. native даёт такой же результат.

Проблема 2:
Есть 2 сервера с CentOS. Набор пакетов идентичен, но один i386, а другой x86_64. Сервер на x86_64 ставился внутри vbox'а так же как и i386. Для установки было выделено 2 VCPU и теперь сколько бы Я ядер не выделил виртуальному серверу, он всё равно продолжает работать на 2х ядрах, хотя нагрузку раскидывает на все выделенные ему ядра равномерно, то есть, сколько не пропиши ядер сервера, нагрузка не превышает лимит 2х ядер.







И такой вопрос, что будет, если на 64 битном ядре делать cmake как для 32 битного ядра, то есть -m32 ? Так как Я заметил, скорость зависит именно от этого.

CormHolio ()
Ответ на: комментарий от CormHolio

По поводу второй проблемы.....

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3794 root 15 0 1339m 31m 19m S 193.3 0.6 9606:42 VirtualBox

Cpu0 : 35.5%us, 10.5%sy, 0.0%ni, 6.4%id, 26.2%wa, 0.0%hi, 21.5%si, 0.0%st
Cpu1 : 23.2%us, 4.9%sy, 0.0%ni, 62.8%id, 1.8%wa, 0.0%hi, 7.3%si, 0.0%st
Cpu2 : 53.6%us, 11.9%sy, 0.0%ni, 8.6%id, 6.0%wa, 7.9%hi, 11.9%si, 0.0%st
Cpu3 : 74.1%us, 6.6%sy, 0.0%ni, 11.4%id, 0.0%wa, 0.6%hi, 7.2%si, 0.0%st


1 — с хостовой ос загрузка гвоорит шо 2 ядра тока грузит
2 — с гостевой ос которая раскидала нагрузку 2х ядер на 4 ядра

CormHolio ()
Ответ на: комментарий от anonymous

Работает же! Уже проверил. А вот x32_64 компилица в 3 раза дольше на 2х ядрах. Как заставить кентос раскидывать нагрузку на остальные ядра, а не сидеть на 2х ?

Сейчас вот пытаюсь поставить кентос сразу на 4х ядрах и посмотреть, что будет если прописать ещё 4 к нему. Будет ли он так же расскидывать нагрузку 4х ядер на 8 или всё будет нормально.

i386 ядро работает идеально, но, по-моему из-за того шо Я компилил всё как под прескот, хотя проц амд, сервер падает раз в сутки в кернел паник...

CormHolio ()
Ответ на: комментарий от CormHolio

> Работает же!

Мало того, что работает, так ещё и снижение производительности практически не заметно.

А вот x32_64 компилица в 3 раза дольше

Компилится дольше, да, это так.

компилил всё как под прескот, хотя проц амд

Кгута!

anonymous ()
Ответ на: комментарий от anonymous

Таки чо делать?

Я вот уже поставил сервер кентоса на 4х VCPU ядрах и сейчас попробую добавить ещё 4.... У меня подозрение, что нагрузка так и будет висеть на уровне 4х ядер.

CormHolio ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.