Не рационально используются ресурсы ядра

Тема в разделе "Linux", создана пользователем NiGaByte, 7 мар 2015.

  1. NiGaByte

    NiGaByte

    Сообщения:
    501
    Симпатии:
    84
    Начну описывать проблему по порядку...

    Значит есть сервер csgo на 38 слотов, сначала работал нормально, 75% нагрузки на ядро не более 550 МБ оперативки, всё хорошо лагов не было.

    В какой-то момент понеслась, ядро внезапно начинает потреблять 100% даже в онлайн 15-20 человек, а то и меньше, при этом часть загруженной области ядра зелёная и потребляет к примеру 45%, а вся остальная область красная и потребляет остальные 65% в итоге 100% нагрузки на ядро, ну и жестокие лаги.

    Писал хостеру, выясняли, переустанавливали и много чего делали, не изменилось, в итоге хостер предложил добавить ещё одно ядро, я согласился.

    Вот что происходило:
    [​IMG]

    А должно быть вот так:
    [​IMG]

    Как я написал выше хостер предложил мне второе ядро, я согласился, теперь так:
    [​IMG]

    Как вы понимаете на втором ядре поселился процесс cs, так-как на первое он не хочет идти ибо там ему делать нефиг, почему первое ядро так работает не пойму.

    Должно вот так работать:
    [​IMG]

    OS Centos 6.6 32 bit

    P.S Ядро спокойно тянет 38 человек и загружено максимум на 75% когда работает идеально и второго ядра для этого не требовалось.

    P.SS держал сервер на другом хосте 24 слота, два ядра taskset -c 1 и всё было хорошо, как на последнем скриншоте, ОС тогда стояла такая же только 64-битная архитектура, не знаю в чём проблема выручайте.

    Чуть не забыл:
    PHP:
    #!/bin/sh/
    echo "Starting Server"
    sleep 1
    screen 
    ----S csgo_server ./srcds_run -game csgo -console -usercon -port 27015 +gametype 0 +game_mode 0 +mapgroup mg_active +map de_dust2_2x2 -tickrate 64 -maxplayers_override 38 -autoupdate
    echo "Finish Server"
    Если по какой-то причине вставки картинок у вас не отображаются, то вложения не качайте, они там в другом порядке, лучше отпишите, я перезалью.
     

    Вложения:

    • linux25.jpg
      linux25.jpg
      Размер файла:
      29,7 КБ
      Просмотров:
      166
    • linux26.jpg
      linux26.jpg
      Размер файла:
      15,5 КБ
      Просмотров:
      163
    • linux27.jpg
      linux27.jpg
      Размер файла:
      15,8 КБ
      Просмотров:
      162
    • linux28.jpg
      linux28.jpg
      Размер файла:
      22,1 КБ
      Просмотров:
      162
  2. Хитрый_Ёжик

    Хитрый_Ёжик

    Сообщения:
    281
    Симпатии:
    94
    Re: Не рационально используется ресурсы ядра

    Насколько я знаю, Valve очень любит обновлять сервера CSGO. Не было ли там случаем обновлений, незадолго до начала проблем?
     
  3. NiGaByte

    NiGaByte

    Сообщения:
    501
    Симпатии:
    84
    Re: Не рационально используется ресурсы ядра

    Нет проблемы появились перед обновлением, потом обновилась cs, далее ОС переустановили, кстати какую лучше архитектуру использовать x86 или x64?
     
  4. Хитрый_Ёжик

    Хитрый_Ёжик

    Сообщения:
    281
    Симпатии:
    94
    Re: Не рационально используется ресурсы ядра

    Да что же с вами всеми не так? Посадили занозу и вместо того, чтобы просто её вытащить - отрубаете палец. :angry2:

    В большинстве задач x64 будет выигрывать по производительности, но в некоторых всё же в выигрыше будет x86. Также x64 кушает больше памяти, чем x86.

    Если по хорошему, то я бы не стал использовать 32 битную ОС на 64 битном процессоре если мне нужно адресовать порядка 2Гб оперативной памяти.
     
  5. NiGaByte

    NiGaByte

    Сообщения:
    501
    Симпатии:
    84
    Re: Не рационально используется ресурсы ядра

    Вот и я про тоже, у меня как видно на скрине 1ГБ, естественно я понимаю что x64 жрёт больше памяти, но другое дело процессор как он будет себя вести я не знаю, но то что поддерживается архитектура это безусловно.
     
  6. Danyas

    Danyas Спасибо, браток © yand3xmail Модератор

    Сообщения:
    1.719
    Симпатии:
    459
    Re: Не рационально используется ресурсы ядра

    Оффтоп
     
  7. pracc

    pracc

    Сообщения:
    480
    Симпатии:
    128
    Re: Не рационально используется ресурсы ядра

    Danyas, :P.
    У меня debian x64-x86, при заполненных 3 серверах CS:GO по 20 слотов (60 игроков), нагрузка 30-35%.
     
  8. Хитрый_Ёжик

    Хитрый_Ёжик

    Сообщения:
    281
    Симпатии:
    94
    Re: Не рационально используется ресурсы ядра

    Я заметил, но тут вопрос в том, планируешь ли ты в дальнейшем увеличивать объем оперативной памяти?

    Как я сказал ранее, в большинстве задач производительность у x64 будет выше.
    А вообще, почитай о том, как работает Hyper-Threading и поймёшь из-за чего у тебя такие проблемы.

    Во первых, это не особо важно, т.к. если всё работало хорошо и вдруг перестало, то проблема не в железе.
    Во вторых, cat /proc/cpuinfo

    В чем смысл твоего сообщения?
     
    Последнее редактирование: 8 мар 2015
  9. NiGaByte

    NiGaByte

    Сообщения:
    501
    Симпатии:
    84
    Re: Не рационально используется ресурсы ядра

    Danyas, xeon e3-1276 v3

    ПОЗДРАВЛЯЮ. :fan_1:

    Поставил OC 64 bit, вернул одно ядро, в итоге хоть и не сразу но столкнулся с этой проблемой.

    Я знаю как работает Hyper-Threading, но почему-то нету понимания проблемы.

    P.S Ну раздаёт он в два потока, и что мне теперь делать? Проц менять? Как тогда другие люди запускают сервера по 60 слотов на i7, у них там тоже Hyper-Threading и нечего живы...
     
  10. Хитрый_Ёжик

    Хитрый_Ёжик

    Сообщения:
    281
    Симпатии:
    94
    Re: Не рационально используется ресурсы ядра

    Видимо не знаешь.
    Если сравнивать производительность 1 физического ядра с включенным Hyper-Threading и с выключенным, то производительность с HT будет примерно на 30% выше. А самое важное то, что 2 виртуальных ядра на 1 физическом не смогут в один и тот же момент времени выдать максимальную производительность, равную максимальной производительности физического ядра.
     
  11. NiGaByte

    NiGaByte

    Сообщения:
    501
    Симпатии:
    84
    Хитрый_Ёжик, http://www.youtube.com/watch?v=MX2emCOL9w4

    Ещё в википедии описывается принцып работы, и возможные ошибки.

    P.S По теме ты не чего толком не объяснил, только лишь делаешь поспешные выводы, что я знаю а что нет.(Не в обиду, но выглядит так)

    Лучше сказал бы что делать, кстати в чём всё же проблема?
     
  12. Хитрый_Ёжик

    Хитрый_Ёжик

    Сообщения:
    281
    Симпатии:
    94
    NiGaByte, как-то ты невнимательно смотрел... На 0:39 он объясняет на доступном примере то, что сказал я.
     
  13. NiGaByte

    NiGaByte

    Сообщения:
    501
    Симпатии:
    84
    Ты что глумишся? Т.е ты реально считаешь что я не понимаю что физ. ядро, делятся на два виртуальных?

    Знание о ГТ, не решает моих проблем, я хочу узнать что мне делать, как cs взаимодействует с ядром не понятно, нужен он(ГТ) ей или нет.

    P.S Тема моей курсовой, это разработка микропроцессорной системы на базе комплекта КР580, я не просто понимаю как на видео чувак кладёт себе хавку в рот, я смотрю на всё это на инженерном уровне, там где рассчитывается параметры и возможности МП-системы, а ты мне тут пытаешься объяснить то что я не понимаю как работает ГТ.

    P.SS Ещё раз есть проблема которую я описал, верно? Так вот не надо мне доказывать что я понимаю а что нет, нужно указать причину почему это происходит. Ответ типо: это происходит из-за того что второе вирт. ядро ждёт, не принимается, мне нужно знать почему он уходит в режим прерывания, если такое вообще происходит.

    Вот ещё раз скриншотик более наглядный, только не надо бомбить о том что сервер от рута запущен, что это не безопасно я уже слышал, только вот реальных примеров не видел. Да и вообще чтобы что-то случилось, надо что-то туда по истине ♥♥♥♥♥♥вое поставить.
     
  14. Хитрый_Ёжик

    Хитрый_Ёжик

    Сообщения:
    281
    Симпатии:
    94
    Оффтоп

    Какой тип виртуализации?

    Оффтоп
     
  15. NiGaByte

    NiGaByte

    Сообщения:
    501
    Симпатии:
    84
    Я не ожидаю от вирт. ядра такой же производительности, я в названии темы написал что не рационально расходует ядро, я писал уже что при нагрузке 10-20 игроков может потреблять 100%, а может полный серв(38 игроков) потащить, и ещё 15% свободных ресурсов останется. (При этом на скриншотах видно как именно загружается 100% всё что зелёное это серв, остольное хлам)

    Похоже разобрался, дело в типе виртуализации, нужен KVM, а сейчас стоит XEN.

    P.S Позвонил в ТП хостинга, скзали сделают KVM, т.к я не первый с похожей проблемой.

    P.SS На самом деле уже 3 дня вёл с ТП переговоры, что мы только не делали...
     
  16. Хитрый_Ёжик

    Хитрый_Ёжик

    Сообщения:
    281
    Симпатии:
    94
    Эм... Это достаточно спорно. Если по хорошему, то по возможностям KVM и XEN почти идентичны, разве что на KVM легче оверселить и на Xen высокопроизводительные задачи выполняются лучше. Я конечно не видел бенчмарки KVM vs XEN в контексте игровых серверов, но я сильно сомневаюсь, что KVM покажет себя лучше XEN.

    С OpenVZ раньше был такой момент, что нужно было 1 в день рестартить VPSку чтобы не было лагов. Также недурно было бы пересобрать ядро линя, т.к. стандартное не очень хорошо подходит для игровых серверов.
     
  17. NiGaByte

    NiGaByte

    Сообщения:
    501
    Симпатии:
    84
    Хитрый_Ёжик, просто у KVM в отличии от XEN другой принцип работы, с хостером долго беседовал на эту тему, в конце концов если и KVM на вирт. ядре не поможет, то хостер не исключил возможности предоставить одно физическое ядро, но XEN производительней я с тобой согласен, принцип такой что мне предоставляется одно вирт. ядро, а нагрузка на этом ядре может распределятся по разным физ. ядрам в естественно в несколько потоков, вот я и думаю что из-за этого, хотя по идее софтинка srcds должна думать иначе, но кто знает, в atop показывает что она всё жрёт, быть может оно и так, но она не должна этого делать.

    На другом хостинге юзал сервер 22 слота, KVM, работало как часы.
     
  18. Хитрый_Ёжик

    Хитрый_Ёжик

    Сообщения:
    281
    Симпатии:
    94
    Может дело в root? По крайней мере стот попробовать + renice -n -10 pid (не надо из под рута только)

    Другое железо. CSGO капризная вещь.
     
  19. NiGaByte

    NiGaByte

    Сообщения:
    501
    Симпатии:
    84
    Я не знаю что это, я не шарю в линуксе 2 месяца юзаю только, если не из под рута запускать то надо выкачивать сервер заново?
     
    Последнее редактирование: 10 мар 2015
  20. Danyas

    Danyas Спасибо, браток © yand3xmail Модератор

    Сообщения:
    1.719
    Симпатии:
    459
    nice - приоритет процесса.
    rencie - изменение приоритета.
    если что-то не знаешь в линуксе пиши man <что-то>
    например если ты напишешь man renice тебе выдаст справку по изменению приоритета процесса

    что бы сделать что-либо от рута пишешь перед командой sudo (напр. sudo ./start.sh)
    или же залогиниться под рутом - sudo su, тогда все действия будут от рута