The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Распределение процесса под процессоры, !*! Rekryt, 05-Апр-07, 12:18  [смотреть все]
Возникла такая проблема, работающая программа использует только один процессор из четырёх. Подскажите как назначить процессу правильный bitmask. Это можно сделать средствами linux? Есть исходники программы.


Linux Slackware 11.

Заранее спасибо

  • Распределение процесса под процессоры, !*! Rekryt, 19:38 , 05-Апр-07 (1)
  • Распределение процесса под процессоры, !*! perece, 19:18 , 06-Апр-07 (2)
    >Возникла такая проблема, работающая программа использует только один процессор из четырёх. Подскажите
    >как назначить процессу правильный bitmask. Это можно сделать средствами linux? Есть
    >исходники программы.
    >
    >
    >Linux Slackware 11.
    >
    >Заранее спасибо
    если программа не многопоточная, то она _в_принципе_не_может_ использовать более одного процессора

    \^P^/

    • Распределение процесса под процессоры, !*! Rekryt, 19:28 , 07-Апр-07 (3)
      >>Возникла такая проблема, работающая программа использует только один процессор из четырёх. Подскажите
      >>как назначить процессу правильный bitmask. Это можно сделать средствами linux? Есть
      >>исходники программы.
      >>
      >>
      >>Linux Slackware 11.
      >>
      >>Заранее спасибо
      >если программа не многопоточная, то она _в_принципе_не_может_ использовать более одного процессора
      >
      >\^P^/
      На винде её можно настроить нормально, на linux незнаю.
      Как вообще задать соответсвие программы процессору(ам).

      • Распределение процесса под процессоры, !*! guest, 20:53 , 08-Апр-07 (4)
        >>>Возникла такая проблема, работающая программа использует только один процессор из четырёх. Подскажите
        >>>как назначить процессу правильный bitmask. Это можно сделать средствами linux? Есть
        >>>исходники программы.
        ...
        >>если программа не многопоточная, то она _в_принципе_не_может_ использовать более одного >>процессора
        >>\^P^/

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

        >На винде её можно настроить нормально, на linux незнаю.
        >Как вообще задать соответсвие программы процессору(ам).

        У вас видимо оно делимое, тогда как же вы его делите на Винде?

        • Распределение процесса под процессоры, !*! Rekryt, 21:40 , 08-Апр-07 (5)
          >>>>Возникла такая проблема, работающая программа использует только один процессор из четырёх. Подскажите
          >>>>как назначить процессу правильный bitmask. Это можно сделать средствами linux? Есть
          >>>>исходники программы.
          >...
          >>>если программа не многопоточная, то она _в_принципе_не_может_ использовать более одного >>процессора
          >>>\^P^/
          >
          >Если яблоко неделимое, то его _в_принципе_нельзя_ поделить между более чем одним лицом.
          >
          >
          >>На винде её можно настроить нормально, на linux незнаю.
          >>Как вообще задать соответсвие программы процессору(ам).
          >
          >У вас видимо оно делимое, тогда как же вы его делите на
          >Винде?


          Она сама по себе умеет делать это в винде. В конфиге её можно настроить под кол-во процессоров (но тока в винде, в linux она не настраивается), можно оставить default и в taskmgr назначать соответсвие как обычным программам.
          Написана на c++ может кто знает как можно дописать, однако невериться что нельзя настроить стандартными методами.

          • Распределение процесса под процессоры, !*! perece, 19:29 , 10-Апр-07 (6)
            [...]
            >>У вас видимо оно делимое, тогда как же вы его делите на Винде?
            >
            >Она сама по себе умеет делать это в винде. В конфиге её
            >можно настроить под кол-во процессоров (но тока в винде, в linux
            >она не настраивается), можно оставить default и в taskmgr назначать соответсвие
            >как обычным программам.
            >Написана на c++ может кто знает как можно дописать, однако невериться что
            >нельзя настроить стандартными методами.
            какая разница на c++ или джаве или еще на чем?! речь о другом:
            1) сколько процессов запускается? всегда один? (смотреть ps/pstree/top/...)
            2) если процесс один, то ldd на его имидж. смотреть на предмет наличия линковки libpthreads (хотя это не 100%, может быть слинковано статически).
            last resort:
            strings -a <programbinary> | grep -i thread
            (хотя, прога стрипнута наверняка, т.ч. вряд-ли поможет. nm или nm -D? как вариант, но опять же слепы в случае статически слинкованого стрипнутого бинарника)
            если результат отрицательный по этим пунктам (процесс один и треды не упоминаются нигде) то на линухе это яблоко 99% неделимое.

            ну и под конец дурацкий вопрос: а ядро (линух) с поддержкой ли SMP собрано?
            (чем видел, что процессор только один юзается? top'ом?)

            \^P^/

            • Распределение процесса под процессоры, !*! Rekryt, 23:01 , 10-Апр-07 (7)
              >[...]


              Собрано с симетиричной SMP.
              Процесс в top или ps -aux запускается только один.

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

              Обьясните попонятнее плз.

              • Распределение процесса под процессоры, !*! perece, 18:33 , 11-Апр-07 (8)
                >>[...]
                >
                >
                >Собрано с симетиричной SMP.
                >Процесс в top или ps -aux запускается только один.
                >
                >То что вы написали 2ым пунктом, долго ломал голову, не смог разрбраться,
                >это воспрос или указания как сделать?
                эээ.. это указание как посмотреть, многопоточная ли программа.
                кста, я тут же на опеннете вчера видел упоминание "режима тредов" в top'е. интересно, как оно работает (будет ли работать в случае статической линковки libpthreads)

                имя исполняемого модуля, отображаемое в top/ps? (это может быть не тот файл, которым программа изначально запускается. покажите-ка рез-т:
                file <имя_исполняемого_модуля>

                \^P^/

                • Распределение процесса под процессоры, !*! Rekryt, 14:30 , 12-Апр-07 (9)

                  >имя исполняемого модуля, отображаемое в top/ps? (это может быть не тот файл,
                  >которым программа изначально запускается. покажите-ка рез-т:
                  >file <имя_исполняемого_модуля>
                  >
                  >\^P^/

                  ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), not stripped

                  • Распределение процесса под процессоры, !*! perece, 14:59 , 12-Апр-07 (10)
                    >ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses
                    >shared libs), not stripped
                    опа-аньки! ну то, что динамикали линкед - я предполагал, верней надеялся на это. но то, что она еще и not stripped - это вообще сюрприз!

                    давай сюда:
                    ldd <имя_исполняемого_модуля>
                    и
                    nm <имя_исполняемого_модуля>


                    • Распределение процесса под процессоры, !*! Rekryt, 15:50 , 12-Апр-07 (11)
                      >>ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses
                      >>shared libs), not stripped
                      >опа-аньки! ну то, что динамикали линкед - я предполагал, верней надеялся на
                      >это. но то, что она еще и not stripped - это
                      >вообще сюрприз!
                      >
                      >давай сюда:
                      >ldd <имя_исполняемого_модуля>

                      >nm <имя_исполняемого_модуля>


                      root@wow:/mangos/BIN/bin# ldd mangos-worldd
                              linux-gate.so.1 =>  (0xffffe000)
                              libssl.so.0 => /usr/lib/libssl.so.0 (0xb7f5e000)
                              libmangosscript.so.0 => /mangos/BIN/lib/libmangosscript.so.0 (0xb7f57000)
                              libmysqlclient_r.so.15 => /usr/local/lib/mysql/libmysqlclient_r.so.15 (0xb7eea000)
                              libz.so.1 => /usr/lib/libz.so.1 (0xb7ed8000)
                              libcrypt.so.1 => /lib/tls/libcrypt.so.1 (0xb7eaa000)
                              libnsl.so.1 => /lib/tls/libnsl.so.1 (0xb7e94000)
                              libZThread.so.0 => /mangos/BIN/lib/libZThread.so.0 (0xb7e55000)
                              libstdc++.so.6 => /usr/local/lib/libstdc++.so.6 (0xb7d71000)
                              libpthread.so.0 => /lib/tls/libpthread.so.0 (0xb7d5f000)
                              libm.so.6 => /lib/tls/libm.so.6 (0xb7d3c000)
                              libgcc_s.so.1 => /usr/local/lib/libgcc_s.so.1 (0xb7d31000)
                              libc.so.6 => /lib/tls/libc.so.6 (0xb7c02000)
                              libcrypto.so.0 => /usr/lib/libcrypto.so.0 (0xb7ac8000)
                              libdl.so.2 => /lib/tls/libdl.so.2 (0xb7ac4000)
                              /lib/ld-linux.so.2 (0xb7fa8000)


                      root@wow:/mangos/BIN/bin# nm mangos-worldd
                      РЕЗУЛЬТИАТ ВЫЛОЖИЛ СЮДЫ: http://62.105.131.53/nmofmangos-wordd.txt

                      • Распределение процесса под процессоры, !*! perece, 16:46 , 12-Апр-07 (12)
                        дааааа, блин... тяжелый случай.
                        Zthread использовался, очевидно, чтобы абстрагироваться от платформы (есь вынь версия, и там трэдинг работает как надо). имхо эта либа и косячит. инфы хватает по ней, только противоречиво все как-то. и про какие-либо настройки - ничего.

                        \^P^/

                        • Распределение процесса под процессоры, !*! Rekryt, 20:58 , 12-Апр-07 (13)
                          >дааааа, блин... тяжелый случай.
                          >Zthread использовался, очевидно, чтобы абстрагироваться от платформы (есь вынь версия, и там
                          >трэдинг работает как надо). имхо эта либа и косячит. инфы хватает
                          >по ней, только противоречиво все как-то. и про какие-либо настройки -
                          >ничего.
                          >
                          >\^P^/

                          И чё же делать? ))

                        • Распределение процесса под процессоры, !*! perece, 14:22 , 13-Апр-07 (14)
                          >И чё же делать? ))
                          какие-нть конфиги у проги есть? посмотри на предмет пула тредов, бывает ли там че.
                          и вообще что-бы-то ни было касательно ZThreads. 99% прога сама не может "разложиться", хотя тероетически умеет это. Ось с ее настройками тут ни при делах.

                          P.S. с этого момента начинается шаманство с элементами телепатии. результат не гарантирован вообще.

                          \^P^/

                        • Распределение процесса под процессоры, !*! Юрий, 21:11 , 16-Мрт-09 (15)
                          >[оверквотинг удален]
                          >какие-нть конфиги у проги есть? посмотри на предмет пула тредов, бывает ли
                          >там че.
                          >и вообще что-бы-то ни было касательно ZThreads. 99% прога сама не может
                          >"разложиться", хотя тероетически умеет это. Ось с ее настройками тут ни
                          >при делах.
                          >
                          >P.S. с этого момента начинается шаманство с элементами телепатии. результат не гарантирован
                          >вообще.
                          >
                          >\^P^/

                          вообще то в конфиге мангоса выставляется параметр количества использованных процессоров




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру