Многопоточность srcds на linux

Обсуждаем все, что относится к выделенным серверам *NIX (Unix, Linux) и Windows
Сообщение
Автор
oblomkrs
Майор
Майор
Сообщения: 775
Зарегистрирован: 02.07.2011
Благодарил (а): 4 раза
Поблагодарили: 32 раза

#61 Сообщение 12.02.2012, 19:10

Sammit92
Если чисто по русски ответить то хер его знает :D
Качественный хостинг OPTIBIT в Красноярске
NOVOSIBIRSK-CSS.RU|Only DUST2[NSK] ip:46.38.63.119:27015
NOVOSIBIRSK-CSS.RU|Only $2000$+AWP LEGO[NSK] ip:46.38.63.119:27016

kadet89
Майор
Майор
Сообщения: 557
Зарегистрирован: 26.12.2006

#62 Сообщение 13.02.2012, 00:47

Sammit92, поясню как смотрится в лине и в винде.
В лине:
1. Нагрузка смотрится командами top, atop и htop
Чтобы посмотреть нагрузку по ядрам, после top надо нажать "1", но выводится не мгновенное значение, а среднее за 5 и более секунд, поэтому если за это время поток перескочил с ядра на ядро - то может вывести что ядра загружены равномерно.
2. Напротив процесса в списке процессов выводится нагрузка. Максимальная загрузка процессора равняется 100%*N, где N - количество ядер. Соответственно если приложение однопоточное, или система одноядерная - максимальное значение - 100%.
Если приложение многопоточное и система многоядерная, максимальное значение загрузки напротив процесса приложения равна min(100%*N,100%*K), где K - кол-во потоков приложения. Т.е. если процессор 4-х ядерный, а приложение 2-х поточное, то максимум, который Вы можете увидеть напротив процесса такого приложения - 200%.
То, что вы привели, не доказывает наличие многопоточности, т.к. число не привысило 100%.

В винде:
1. В отличае от линя за 100% принимается полная загрузка всех ядер. Таким образом для однопоточного приложения полная загрузка будет 100%/N.
Например на 4-х ядерном процессоре 25%, на 2-х ядерном 50%. Если эти цифры выше - приложение многопоточное.
Для многопоточного приложения, если кол-во потоков >= количеству ядер - максимальная загрузка процессора будет 100%.

Вальва вывела несколько функций в отдельные потоки, но они едвали загружают проц на 1%. Большую часть времени эти потоки простаивают. И хоть это нельзя назвать многопоточностью, т.к. основная вычислительная нагрузка не распределяется по ядрам, вальва всетаки сделала такое заявление... наверно чтобы народ заткнулся.
В саппорте, как я написал в другой теме, подтвердили что многопоточности нет.

rodgerland
Сержант
Сержант
Сообщения: 59
Зарегистрирован: 20.10.2008
Откуда: Норильск

#63 Сообщение 15.02.2012, 11:53

У меня при загрузке одного ядра на 100% перекидывал на другой, тем самым был виден лаг при большом кол-ве игроков. Но, что-то похожее на многопоточность я не видел, принудительно заставил работать сервера на своих ядрах.

kadet89
Майор
Майор
Сообщения: 557
Зарегистрирован: 26.12.2006

#64 Сообщение 15.02.2012, 21:02

rodgerland, а сервер можно заставить работать непринудительно? или вообще не заставлять?
Я к примеру просто запускаю и он работает. Как ему приказать? Отхлестать? Или подать на корпус компа разряд напряжением в несколько тысяч вольт?

А если серьезно, Вы не в теме, заставить работать однопоточное приложение в несколько потоков нельзя. И вообще заставлять приложения нельзя, они не живые. Их можно запустить с определенными параметрами.

BMW M6
Капитан
Капитан
Сообщения: 338
Зарегистрирован: 15.09.2011
Благодарил (а): 9 раз
Поблагодарили: 5 раз

#65 Сообщение 27.03.2012, 23:11

Тема очень старая, но всё же решил приподнять :)
Всё таки есть многопоточность в linux, и это я сегодня увидел.
ДМ на 64 слота работает на 4 ядре, смотрю htop при 61 человеке на сервере. 4 ядро загружено на 100% и 5 на 15%
исходя что на 5 ядре ничего не работает. Значит есть многопоточность в linux. Как только получится сделать скрин, сразу выложу!

kadet89
Майор
Майор
Сообщения: 557
Зарегистрирован: 26.12.2006

#66 Сообщение 28.03.2012, 05:04

Да, формальная есть, мелкие задачи вальва вынесла в отдельные потоки. Но в реальности её (многопоточности) нет, т.к. вычисление основной задачи - просчета физики, не распределено. Т.е. сам сервер работает в один поток, а отдельные плюшки у него работают в отдельных от него потоках.

Ответить Вложения 6