Процессы, потребляющие 100% процессора, это проблема?
-
- Разработчик
- Сообщения: 11861
- Зарегистрирован: Ср окт 01, 2003 12:06 am
- Откуда: Роcсия, Тольятти
- Контактная информация:
Процессы, потребляющие 100% процессора, это проблема?
Некоторые процессы потребляют 100% процессора. Это могут быть DOS-задачи, или IE, в котором много анимации, или просто зависшие программы. Когда такой процесс появляется на вашем сервере - оказывает ли он влияние на функционирование сервера? Появляются ли тормоза у остальных пользователей?
Да, как только появится такой процесс - весь сервер начинает сильно тормозить.
Когда таких процессов много - сервер слегка притормаживает.
Да, как только появится такой процесс - весь сервер начинает сильно тормозить.
Когда таких процессов много - сервер слегка притормаживает.
Даже и не знаю что ответить.. У меня в эксплуатации довольно крупные терминальные сервера (четырехпроцессорные оптероны-848 и двухпроцессорные ксеоны) и могу сказать что 100%-жрущие процессы это проблема... Причем проблема до такой степени что приходится за ними приглядывать и стрелять. С дос-приложениями после установки TameDOS проблем нет. А вот с горе-программистами ужас. Висит эта горе-программа написанная горе-программистом и жрет один процессор из четырех. Когда их становится четыре тормозит весь сервер.. Вполне допускаю что если потихонечьку шуршать в офисе-бухгалтерии то это и не критично. Но когда тридцать человек на этом же сервере работают в компасе и архикаде...
Забыл дописать сразу. Могу сказать что когда на четырехпроцессорнике (настоящем, не гипертрединговом) висит десяток таких процессов с нормальным приоритетом то начинают приходить жаловаться.
И когда суммарная долговременная загрузка четырех процессоров превышает 60-75% то лично мне работать становится некомфортно.
И когда суммарная долговременная загрузка четырех процессоров превышает 60-75% то лично мне работать становится некомфортно.
Может у тебя ActiveDirectory или что-нибудь такое стоит? До сих пор помню как моего админа весь день мечтали расстрелять за эту шутку. С ним 100%ые процессы в принципе не дают жить. Субъективно скорость падает раза в 3. После удаления - все нормализуется.
Сама Microsoft тоже рекомендует ставить AD и TS на разные серваки.
Сама Microsoft тоже рекомендует ставить AD и TS на разные серваки.
Желающим - бесплатный продукт для ограничения CPU Utilisation не дающий одному процессу сожрать весь процессор: http://threadmaster.tripod.com/
В комплекте с W2K3 Server EE поставляется Windows System Resource Manager (WSRM). Достаточно мощная вещь, позволяющая управлять распределением памяти, процессорного времени между процессами сервера. Распределение по конкретным приложениям (для чего умеет их отлавливать), по условиям, по календарю.
Пока изучаю, но первые хорошие впечатления уже есть . Например приложения стремящиеся к максимальной загрузке отлавливаются уверенно.
Также по оптимизации работы TS очень грамотно написал Брайен Мадден: Настройка производительности терминального сервера, оригинал статьи: Citrix MetaFrame and Microsoft Terminal Server Performance Optimization and Tuning
Пока изучаю, но первые хорошие впечатления уже есть . Например приложения стремящиеся к максимальной загрузке отлавливаются уверенно.
Также по оптимизации работы TS очень грамотно написал Брайен Мадден: Настройка производительности терминального сервера, оригинал статьи: Citrix MetaFrame and Microsoft Terminal Server Performance Optimization and Tuning
Ню-ню. Я гоняю seti@boinc. Оно пускает четыре (четырехпроцессорник) процесса с наименьшим возможным приоритетом (Idle). Несмотря на это народ плачется Так что теперь сети гоняется только по ночам...aka писал(а):Мне больше понравилась идея Erl менять приоритеты процессов. Если какая-то пакость решилась пожрать весь процессор - приятного аппетита (возможно, она не зависла, а в самом деле что-то вычисляет). Надеюсь, что с низким приоритетом она не сможет мешать другим.
Сервер не тормозит а как-то замедленно реагирует что-ли.. Сложно описать, это проще один раз увидеть.
-
- Разработчик
- Сообщения: 11861
- Зарегистрирован: Ср окт 01, 2003 12:06 am
- Откуда: Роcсия, Тольятти
- Контактная информация:
Ну вот, халяву загубил Теперь придется думать, как эта штука (ThreadMaster) ограничивает использование процессора.
Статья Маддена понравилась. Нашел в ней мудрую мысль: оценивать загруженность процессора надо не по процентам таскменеджера, а по длине очереди. В линуксе это было бы тривиально: cat /proc/loadavg, а в винде придется думать, как эту очередь отковырять.
Статья Маддена понравилась. Нашел в ней мудрую мысль: оценивать загруженность процессора надо не по процентам таскменеджера, а по длине очереди. В линуксе это было бы тривиально: cat /proc/loadavg, а в винде придется думать, как эту очередь отковырять.
-
- Разработчик
- Сообщения: 11861
- Зарегистрирован: Ср окт 01, 2003 12:06 am
- Откуда: Роcсия, Тольятти
- Контактная информация:
RSDN.ru рулит.
дескриптор = OpenThread() //получаем проблемный поток, не важно в каком он процессе, главное хватило бы прав
while(1)
{
SuspendThread(дескриптор) // усыпляем проблемный поток
Sleep(100)
ResumeThread(дескриптор) // запускаем проблемный поток
Sleep(100)
}
CloseHandle(дескриптор)
Вместо Sleep более интеллектуальный планировщик. В общем, ThreadMaster рулит. Не надо его переписывать, надо его использовать.
дескриптор = OpenThread() //получаем проблемный поток, не важно в каком он процессе, главное хватило бы прав
while(1)
{
SuspendThread(дескриптор) // усыпляем проблемный поток
Sleep(100)
ResumeThread(дескриптор) // запускаем проблемный поток
Sleep(100)
}
CloseHandle(дескриптор)
Вместо Sleep более интеллектуальный планировщик. В общем, ThreadMaster рулит. Не надо его переписывать, надо его использовать.
Может мне просто везет,
стоит 2 процовый Proliant 350ML живет на нем WIN2K3 и при появлении процесса который стремится достичь макс. загрузки проца максимум, что получается, это тормоза в конкретной сессии, причем для всех остальных пользователей данный инциндент не заметен (во всяком случае на глаз и отчеты 1С и корел работают с обычной скоростью)
стоит 2 процовый Proliant 350ML живет на нем WIN2K3 и при появлении процесса который стремится достичь макс. загрузки проца максимум, что получается, это тормоза в конкретной сессии, причем для всех остальных пользователей данный инциндент не заметен (во всяком случае на глаз и отчеты 1С и корел работают с обычной скоростью)
Оключать HT или нет?
Гиперпоточность ухудшает производительность сервера?
Руперт Гудвинс (Rupert Goodwins), ZDNet UK
21 ноября, 2005, 8:37
Intel утверждает, что когда ПО разделено на потоки, проявляются преимущества технологии гиперпоточности, но похоже, что в некоторых случаях эффект получается обратным.
Технологию Intel Hyperthreading (HT) обвиняют в проблемах производительности сервера. В системах с программным обеспечением SQL Server и Citrix Terminal Server материнские платы с включенной технологией НТ демонстрируют при высокой нагрузке заметное снижение производительности. Отключение НТ приводит к восстановлению расчетных уровней.
«Наши заказчики жалуются на заметное ухудшение производительности при исполнении Citrix Terminal Server и нашего ПО на одной и той же машине», — говорит Питер Ибботсон, технический директор британской компании Lakeview Computers, специализирующейся на бухгалтерском ПО. — У нас случился переполох, когда мы включили гиперпоточность для тестирования, увидев, что материнские платы стали поступать с включенной функцией НТ. При отключенной гиперпоточности все возвращается к норме».
Гиперпоточность позволяет разным элементам процессора одновременно исполнять разные участки программы. Intel утверждает, что это повышает производительность процессора и позволяет обрабатывать почти вдвое больше информации.
В начале этого месяца программист из Microsoft Слава Окс, работающий над SQL Server 2005, сообщал в своем блоге об аналогичных проблемах: «Наши заказчики заметили очень интересное поведение мощной аппаратуры с включенной функцией НТ. В некоторых случаях при высокой нагрузке интенсивность использования системой SQL Server ЦП значительно возрастает, но производительность SQL Server при этом снижается».
Углубленное тестирование показало, что такое поведение имеет место, когда системный поток — в данном случае тот, что очищает блоки кэш-памяти диска — исполняется одновременно с рабочими. «В технологии Intel НТ логические процессоры разделяют общую кэш-память первого и второго уровней. Как легко догадаться, такое поведение может сделать кэши L1 & L2 бесполезными», — пишет Окс.
Встроенный кэш ускоряет работу процессора, сохраняя копию недавно извлеченных данных, к которой можно обращаться без повторного обращения к гораздо более медлительной системной памяти. Если много потоков обращается к разным участкам памяти, но обрабатываются одновременно при помощи технологии гиперпоточности, общий кэш не поспевает за быстро меняющимися требованиями, и производительность заметно снижается.
«Это ирония судьбы, — говорит Ибботсон. — Intel преподносит гиперпоточность как средство повышения производительности при исполнении ПО со множеством потоков. SQL Server очень хорошо разбивается на потоки, но его производительность ухудшается. Я ни разу не видел улучшения производительности серверного ПО при включении функции гиперпоточности. Мы рекомендуем заказчикам отключать ее при исполнении Citrix и нашего ПО на одном и том же сервере».
Intel пока не ответила на просьбу прокомментировать эти сообщения.
В текущем году в технологии Intel Hyperthreading была обнаружена уязвимость, позволяющая разным потокам получать информацию друг о друге через общий кэш, несмотря на отсутствие доступа к областям памяти друг друга.
Источник: http://news.zdnet.co.uk/0,39020330,39237341,00.htm (18.11.2005)
Руперт Гудвинс (Rupert Goodwins), ZDNet UK
21 ноября, 2005, 8:37
Intel утверждает, что когда ПО разделено на потоки, проявляются преимущества технологии гиперпоточности, но похоже, что в некоторых случаях эффект получается обратным.
Технологию Intel Hyperthreading (HT) обвиняют в проблемах производительности сервера. В системах с программным обеспечением SQL Server и Citrix Terminal Server материнские платы с включенной технологией НТ демонстрируют при высокой нагрузке заметное снижение производительности. Отключение НТ приводит к восстановлению расчетных уровней.
«Наши заказчики жалуются на заметное ухудшение производительности при исполнении Citrix Terminal Server и нашего ПО на одной и той же машине», — говорит Питер Ибботсон, технический директор британской компании Lakeview Computers, специализирующейся на бухгалтерском ПО. — У нас случился переполох, когда мы включили гиперпоточность для тестирования, увидев, что материнские платы стали поступать с включенной функцией НТ. При отключенной гиперпоточности все возвращается к норме».
Гиперпоточность позволяет разным элементам процессора одновременно исполнять разные участки программы. Intel утверждает, что это повышает производительность процессора и позволяет обрабатывать почти вдвое больше информации.
В начале этого месяца программист из Microsoft Слава Окс, работающий над SQL Server 2005, сообщал в своем блоге об аналогичных проблемах: «Наши заказчики заметили очень интересное поведение мощной аппаратуры с включенной функцией НТ. В некоторых случаях при высокой нагрузке интенсивность использования системой SQL Server ЦП значительно возрастает, но производительность SQL Server при этом снижается».
Углубленное тестирование показало, что такое поведение имеет место, когда системный поток — в данном случае тот, что очищает блоки кэш-памяти диска — исполняется одновременно с рабочими. «В технологии Intel НТ логические процессоры разделяют общую кэш-память первого и второго уровней. Как легко догадаться, такое поведение может сделать кэши L1 & L2 бесполезными», — пишет Окс.
Встроенный кэш ускоряет работу процессора, сохраняя копию недавно извлеченных данных, к которой можно обращаться без повторного обращения к гораздо более медлительной системной памяти. Если много потоков обращается к разным участкам памяти, но обрабатываются одновременно при помощи технологии гиперпоточности, общий кэш не поспевает за быстро меняющимися требованиями, и производительность заметно снижается.
«Это ирония судьбы, — говорит Ибботсон. — Intel преподносит гиперпоточность как средство повышения производительности при исполнении ПО со множеством потоков. SQL Server очень хорошо разбивается на потоки, но его производительность ухудшается. Я ни разу не видел улучшения производительности серверного ПО при включении функции гиперпоточности. Мы рекомендуем заказчикам отключать ее при исполнении Citrix и нашего ПО на одном и том же сервере».
Intel пока не ответила на просьбу прокомментировать эти сообщения.
В текущем году в технологии Intel Hyperthreading была обнаружена уязвимость, позволяющая разным потокам получать информацию друг о друге через общий кэш, несмотря на отсутствие доступа к областям памяти друг друга.
Источник: http://news.zdnet.co.uk/0,39020330,39237341,00.htm (18.11.2005)
AppSense
Есть готовые и достаточно дорогие продукты - от Aurema и AppSense, напримере.
Это большая прблема
Когда на терминальном сервере несколько человек ваяют проги в вижуал студии и один из них написал хреновую программу - то тормоза сильные и админ вынужден сидеть и таск менеджером прибивать приложения.
Использование тредмастера только усугубляет ситуацю - он начинает тормозить всю систему
Немного помгает установка лимитов на к-во процессов и объем оперативной памяти, а также понижение приоритета - но хотелось бы чегонить реального
Когда на терминальном сервере несколько человек ваяют проги в вижуал студии и один из них написал хреновую программу - то тормоза сильные и админ вынужден сидеть и таск менеджером прибивать приложения.
Использование тредмастера только усугубляет ситуацю - он начинает тормозить всю систему
Немного помгает установка лимитов на к-во процессов и объем оперативной памяти, а также понижение приоритета - но хотелось бы чегонить реального
-
- Разработчик
- Сообщения: 11861
- Зарегистрирован: Ср окт 01, 2003 12:06 am
- Откуда: Роcсия, Тольятти
- Контактная информация:
Покопать в сторону tame. И посмотреть сюда: http://citrix.pp.ru/DOS.html
ну сама программа мне понравилась (TameDos v5), если у кого есть крак для него то отправте на eraser@mail.ru
-
- Разработчик
- Сообщения: 11861
- Зарегистрирован: Ср окт 01, 2003 12:06 am
- Откуда: Роcсия, Тольятти
- Контактная информация:
А вот такую штуку: http://dosbox.sourceforge.net/ никто не хочет попробовать? Вроде как раз то что нужно
Досбокс сам работает оч медленно - в результате получаем у багам досой проги еще баги досбокса. На практике 4-х процессорный ксеон с 8-ю gb оперативы вешался намертво 3-мя пользователями с запущеными досовыми прогами.aka писал(а):А вот такую штуку: http://dosbox.sourceforge.net/ никто не хочет попробовать? Вроде как раз то что нужно
Цитата:
>>>>>
RESFREE.COM v3.0 - очень помогает уменьшить загрузку ЦП в многозадачных ОС (OS/2, Windows NT/2000) при работе старых программ (в т.ч. ФоксПро и его приложений). Для Win'NT/2000 запускается строкой в autoexec.nt :
resfree.com 10
При этом, например, у меня на PIII-800/256 под Win2k Prof, загрузка процессора при работе Фокса в фоновом режиме уменьшилась с ~99%(!!!) практически до нуля. Позволяет оптимально (играя параметром в командной строке) настроиться под конкретную систему.
"Пpогpамма пpи pаботе отслеживает обpащение к клавиатуpе и в случае если пpоцесс злоупотpебляет вызовом int 16h, освобождает квант пpоцессоpного вpемени, pанее затpачивавшийся на бесполезный пpостой и обpаботку ненажатой клавиши. Этим гpешат все пpогpаммы, не имеющие встpоенной поддеpжки отдачи квантов и специально не pасчитанные на использование под многозадачными системами. То есть ОЧЕHЬ многие..."
<<<<<
От себя добавлю - есть у бухов несколько досевых задач, после применения данного чудодейственного средства на w2ks (все работают в терминале 8 из них под втварой), тормоза ntvdm пропали.
И еще - в терминалах под w2k3s sp1 эта проблема решена, проверено, переписали таки они корректно ntvdm.
>>>>>
RESFREE.COM v3.0 - очень помогает уменьшить загрузку ЦП в многозадачных ОС (OS/2, Windows NT/2000) при работе старых программ (в т.ч. ФоксПро и его приложений). Для Win'NT/2000 запускается строкой в autoexec.nt :
resfree.com 10
При этом, например, у меня на PIII-800/256 под Win2k Prof, загрузка процессора при работе Фокса в фоновом режиме уменьшилась с ~99%(!!!) практически до нуля. Позволяет оптимально (играя параметром в командной строке) настроиться под конкретную систему.
"Пpогpамма пpи pаботе отслеживает обpащение к клавиатуpе и в случае если пpоцесс злоупотpебляет вызовом int 16h, освобождает квант пpоцессоpного вpемени, pанее затpачивавшийся на бесполезный пpостой и обpаботку ненажатой клавиши. Этим гpешат все пpогpаммы, не имеющие встpоенной поддеpжки отдачи квантов и специально не pасчитанные на использование под многозадачными системами. То есть ОЧЕHЬ многие..."
<<<<<
От себя добавлю - есть у бухов несколько досевых задач, после применения данного чудодейственного средства на w2ks (все работают в терминале 8 из них под втварой), тормоза ntvdm пропали.
И еще - в терминалах под w2k3s sp1 эта проблема решена, проверено, переписали таки они корректно ntvdm.