Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: PHP И Многопроцессорная система...
цитата
16/09/07 в 23:24
 Dantist
Необходимо ли что-то настраивать в php.ini, что php Стал юзать все 2 проца?...

Есть сервер - 2 проца по 2 ядра на каждом...
Логические CPU - cpu0,cpu1,cpu2,cpu3...

Запускаю десяток php процессов параллельно, а они юзаю только cpu0,cpu2...

И cpu-idle висит 50% постоянно...

Где копать?...

Всем +4 )
Спасибо!

P.S. На этой SMP коробке стоит FreeBSD 6.1
цитата
16/09/07 в 23:48
 Heavy
Могу только предположить, что если пых работатет модулем из под апача например, то колупать нужно апач, что бы он свои "треды" мог раскидывать на Н-процессоров. Если стартуешь все скрипты с консоли и они юзают только один физический проц, то это скорее не проблема пыха, а "конфликт" оси с железом, бывает что операционки ну ни в какую не хотят со вторым процом работать.

А как вообще машина себя ведет, если позапускать разные процессы - то все физические процессоры задействуются?
цитата
16/09/07 в 23:56
 Dantist
php пускается из консоли....

Все процессоры юзают только cpu0, cpu2....

Боюсь это фряха всё....
Блинство :(

но dmesg же пишет, что нашел 4 логических cpu... Почему он тогда их не юзаетт?...
цитата
17/09/07 в 00:24
 amhost.net
а какой проц?
можно код из dmesg относящийся к CPU?
цитата
17/09/07 в 00:27
 xreload
За распределение процессов по процам отвечает ОС.
Естественно, PHP тут непричем.
Это походу косяк FreeBSD, у тебя точно собрано ядро с поддержкой SMP?
цитата
17/09/07 в 00:35
 Dantist
amhost.net писал:
а какой проц?
можно код из dmesg относящийся к CPU?

Даже нужно:
Код:

CPU: Intel(R) Xeon(TM) CPU 2.80GHz (2800.11-MHz 686-class CPU)
Origin = "GenuineIntel"  Id = 0xf43  Stepping = 3
Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
Features2=0x641d<SSE3,RSVD2,MON,DS_CPL,CNTX-ID,CX16,<b14>>
AMD Features=0x20100000<NX,LM>
Logical CPUs per core: 2

FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
cpu0 (BSP): APIC ID:  0
cpu1 (AP): APIC ID:  1
cpu2 (AP): APIC ID:  6
cpu3 (AP): APIC ID:  7

cpu0: <ACPI CPU> on acpi0
cpu1: <ACPI CPU> on acpi0
cpu2: <ACPI CPU> on acpi0
cpu3: <ACPI CPU> on acpi0

Это выдержка из dmesg, где к cpu что-то относится...
2 проца Intel Xeon по 2.8 ГГц...
цитата
17/09/07 в 00:35
 tramper2
Dantist писал:
php пускается из консоли....

Все процессоры юзают только cpu0, cpu2....

Боюсь это фряха всё....
Блинство icon_sad.gif

но dmesg же пишет, что нашел 4 логических cpu... Почему он тогда их не юзаетт?...


В общем это бага фри 5 и 6 ветки. там почему то коредуо считается как HTT logical. И для включения-выключения работы его нужно заюзать
sysctl machdep.hyperthreading_allowed.

Вот такой вот бред. В 7 ветке должны попатчить.
цитата
17/09/07 в 00:36
 Dantist
xreload писал:
За распределение процессов по процам отвечает ОС.
Естественно, PHP тут непричем.

Так и думаю уже..

xreload писал:
Это походу косяк FreeBSD, у тебя точно собрано ядро с поддержкой SMP?

Судя по тому, что пишет dmesg (пост выше) - вроде как да...
* Загрузил уже ДЦ моим вопросом.... Думают походу )
цитата
17/09/07 в 00:37
 Dantist
tramper2 писал:
В общем это бага фри 5 и 6 ветки. там почему то коредуо считается как HTT logical. И для включения-выключения работы его нужно заюзать
sysctl machdep.hyperthreading_allowed.

Вот такой вот бред. В 7 ветке должны попатчить.

Все мпоставил по +3, тебе +4, хоть и нифика не понял,что ты сказал ))))))

Щас буду разбираться ))
цитата
17/09/07 в 00:40
 Dantist
А-а-а-а-а-аа!!!!
Таки даа!!!!! :-)))

Код:

sysctl machdep.hyperthreading_allowed=1


И все заработало! ))))

tramper2, Родина тебя не забудет :)))
цитата
17/09/07 в 00:43
 amhost.net
у тебя два ксеона, одноядерных, фря видит HTT как два ядра, но во фре есть сложности с НТТ так что даже хорошо, что оно не используется
цитата
17/09/07 в 00:46
 tramper2
Dantist писал:
Все мпоставил по +3, тебе +4, хоть и нифика не понял,что ты сказал ))))))

Щас буду разбираться ))


Попытаюсь по доходчивей. Фря считает, что ядра не являются физическими процессорами, а эмуляцией, как при гипертридинге(htt). Поэтому без его включения многие тулзы "не видят" твоих 2 процов.
Для его включения я уже написал, что сделать надо.


Эта страница в полной версии