Alexander Posted September 28, 2008 Posted September 28, 2008 (edited) Коллеги, Подскажите, плз, что-то сам не соображу. Спросил на опеннете, но пока помочь не смогли. Есть некий перл-скрипт, запускающийся из шелл-врапера, задача которого анализировать принадлежность трафика заданным подсетям и генерировать .sql файлы, для последующего импорта в БД. Скрипт крутится на линукс-боксе P4 3GHz (HT включен) и гиг оперативки, ядро 2.6.22-smp. Когда скрипт не работает, загрузки нет совсем: top - 14:55:23 up 24 days, 16:07, 2 users, load average: 0.29, 0.77, 0.85 Tasks: 68 total, 1 running, 67 sleeping, 0 stopped, 0 zombie Cpu0 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu1 : 0.3%us, 0.0%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 906184k total, 875832k used, 30352k free, 98976k buffers Swap: 1048568k total, 52k used, 1048516k free, 616412k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1 root 15 0 2036 656 564 S 0 0.1 0:00.83 init Когда работает один инстанс скрипта, загрузка системы выглядит след. образом: top - 14:54:05 up 24 days, 16:05, 2 users, load average: 1.01, 1.00, 0.92 Tasks: 71 total, 2 running, 69 sleeping, 0 stopped, 0 zombie Cpu0 : 0.6%us, 0.0%sy, 0.0%ni, 98.1%id, 0.0%wa, 0.6%hi, 0.6%si, 0.0%st Cpu1 : 0.0%us, 0.0%sy,100.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 906184k total, 880312k used, 25872k free, 98940k buffers Swap: 1048568k total, 52k used, 1048516k free, 617392k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 9763 root 26 1 11244 6148 2756 R 100 0.7 0:08.64 summary_ipcad.p 1 root 15 0 2036 656 564 S 0 0.1 0:00.83 init Как видно, система (проц) загружен на 50%. Причем загружено только одно ядро. Логично предположить, что запустив второй инстанс скрипта, система загрузиться полностью и станет работать более эффективно (соседнее ядро проца не будет простаивать). Почти так и происходит: top - 14:58:39 up 24 days, 16:10, 2 users, load average: 0.94, 0.69, 0.78 Tasks: 73 total, 4 running, 69 sleeping, 0 stopped, 0 zombie Cpu0 : 0.6%us, 0.6%sy, 98.2%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.6%si, 0.0%st Cpu1 : 0.0%us, 0.0%sy,100.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 906184k total, 884116k used, 22068k free, 97360k buffers Swap: 1048568k total, 52k used, 1048516k free, 623988k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 10054 root 26 1 10980 5932 2756 R 100 0.7 0:07.69 summary_ipcad.p 10081 root 26 1 14288 6324 2816 R 100 0.7 0:06.29 summary_ipcad.p Но эффективность мало того, что не вырастает, она уменьшается в несколько раз! Вместо 60 секунд, которые в среднем работал один инстанс, обрабатывая один файл, два инстанса работают дольше 300 секунд! Объясните, плз, в чем ошибка в моей логике? Или может где-то что-то надо подкрутить? Заранее спасибо! Edited September 28, 2008 by Alexander Вставить ник Quote
martini Posted September 28, 2008 Posted September 28, 2008 дык там же фейковое ядро, этот проц ведь не двухядерный и не может брать на себя все функции нормального ядра Вставить ник Quote
Alexander Posted September 28, 2008 Author Posted September 28, 2008 (edited) ээ.. тогда боюсь спросить, какой смысл в HT? :) PS уже объяснили разницу, похоже, Вы правы. спасибо! Edited September 28, 2008 by Alexander Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.