У нас есть ферма Citrix PS4.0, состоящая из 2 физических и 2 виртуальных серверов Citrix. Любой из них в какой-то момент в конечном итоге снизит производительность из-за 100% загрузки ЦП. Я вижу всплеск использования ЦП в клиенте виртуальной инфраструктуры, когда это происходит на любом из серверов VMware.
Это не проблема нагрузки, связанная с количеством пользователей, так как это может произойти в любое время с любым количеством пользователей.
Пользователи используют общие рабочие столы, а не приложения. На рабочем столе установлены стандартные офисные приложения (Word, Excel, Outlook) с ограниченным доступом к Internet Explorer через прокси-сервер Bluecoat и пара отраслевых приложений.
Какие инструменты можно использовать для устранения неполадок и диагностики источника проблемы? Как только сервер достигает 100% ЦП, невозможно войти в систему и посмотреть, какой процесс потребляет все ресурсы. Единственный выход - выполнить полную перезагрузку машины. Все серверы перезапускаются каждое утро в 4 часа утра по расписанию.
ПРИМЕЧАНИЕ. У меня уже установлен ThreadMaster на всех серверах Citrix с использованием параметров конфигурации по умолчанию и ведения журнала. Журналы не указывают на источник проблемы.
РЕДАКТИРОВАТЬ
Windows 2003 SP1 перестала поддерживаться в апреле, поэтому ваша ОС больше не получает никаких исправлений безопасности. Вам необходимо как можно скорее перейти на SP2.
SP2 также содержит множество случайных исправлений ошибок - ваша проблема может исчезнуть.
Если ваша ОС имеет такой старый уровень исправления, есть большая вероятность, что некоторые драйверы, особенно драйверы печати - тоже может быть устаревшим на коробке. Поскольку драйверы в целом являются большим источником нестабильности системы, я бы попытался проверить, что все они подписаны и обновлены. Наличие хитроумного драйвера печати объяснило бы, почему он влияет как на виртуальные, так и на физические устройства и, кажется, происходит случайным образом независимо от нагрузки.
О, и к вашему сведению Citrix 4 выходит на EOM (конец обслуживания, больше никаких исправлений ошибок) в конце этого месяца, 9 июня, и EOL (конец жизни, больше никаких исправлений безопасности или любых других исправлений) в конце 9 декабря. Наслаждайтесь ваш цикл обновления!
Вы можете попробовать запланировать запуск сценария каждую минуту или около того, чтобы список процессов добавлялся в файл:
pslist >> whatever.txt
Что-то вроде этого может, по крайней мере, дать вам представление о том, что происходит.
Встроенный Журналы производительности и предупреждения Инструмент был бы отличным инструментом, чтобы получить некоторые данные о том, что происходит. Вам нужно будет использовать некоторое дисковое пространство для создания этих журналов, но если вы продолжаете удалять старые файлы журналов до тех пор, пока проблема не возникнет, у вас не должно быть проблем с нехваткой диска.
Я бы запустил журнал счетчиков на каждом сервере, регистрируя Обработать и Процессор объекты на диск (я бы, наверное, также взял объем памяти объект тоже).
Пуск / Запуск / PERFMON
Разверните Журналы производительности и предупреждения узел и выделите Журналы счетчиков узел.
Нажмите Действие и Новые настройки журнала. Назовите журнал, как хотите.
Щелкните значок Добавить объекты ... в окне свойств журнала и добавьте объекты в журнал.
Установите интервал. Я бы, наверное, выбрал интервал 60 секунд или больше. Высокое разрешение, вероятно, не нужно, так как это постепенное ухудшение.
На Лог-файлы вкладку, используйте Настроить кнопку, чтобы выбрать место для файла журнала и базовое имя файла. Я бы выбрал Максимальный размер журнала из, скажем, 5 МБ - 10 МБ. Это приведет к созданию большого количества небольших файлов, но вы сможете отслеживать путь, по которому вы храните файлы, и удалять старые файлы, которые накапливаются до возникновения проблемы.
Вы можете запустить журнал, щелкнув правой кнопкой мыши новый экземпляр журнала на панели результатов и выбрав «Пуск». По умолчанию журнал будет вестись до тех пор, пока вы его не остановите или не перезагрузите компьютер. (См. Этот вопрос для получения информации о запуске журнала при загрузке: Как настроить Perfmon для автоматического запуска "предупреждения" при запуске системы? (Вопрос касается запуска оповещения, но вы можете использовать ту же команду для запуска журнала.)
Вы можете проанализировать эти журналы вручную после возникновения проблемы. Вы можете попробовать Microsoft Анализ производительности журналов (PAL) инструмент (http://www.codeplex.com/PAL). Я доволен отчетами, созданными этим инструментом, и им довольно легко пользоваться.
Попробуйте добавить к серверам дополнительный виртуальный ЦП, ЕСЛИ у них только один виртуальный ЦП. Если это однопоточное приложение, поглощающее весь процессор, вы, по крайней мере, получите его, чтобы убить его, а не перезагружать сервер.
Какую версию вы используете и есть ли у вас соглашение об охране?
Вы используете антивирус на сервере?
Кроме того, какие исправления / накопительные пакеты вы используете для PS4 и какой у вас SP для Windows?
сколько ЦП / ядер на машину? достижение 100% на многих ядрах будет означать, что многопоточное приложение потребляет все ресурсы.
У вас есть закономерность (пик каждые X часов или каждый день около 2 часов)?
Что-нибудь в журнале событий (например, огромная печать)?
У вас есть SCOM?
У нас была аналогичная проблема с нашим программным обеспечением для мониторинга Интернета, и оказалось, что процесс XTE (надежность сеанса) повредил библиотеку WinSock и / или стек TCP / IP. Чтобы восстановить стек TCP / IP, запустите команду «netsh winsock reset» на сервере Citrix и перезагрузитесь.
Вы также отстали на 3 накопительных пакета на PS4. Возможно, вы захотите обновить свои серверы до накопительного пакета 6
Рассматривали ли вы возможность обновления до WS2003 Enterprise Edition и использования преимуществ Диспетчер системных ресурсов Windows содержать ресурсы приложения?
Почти единственные проблемы, которые у нас были с нашими компьютерами Citrix с высокой загрузкой ЦП, связаны с плохими драйверами принтера, из-за которых служба диспетчера очереди печати полностью сходит с ума. В частности, это было связано с драйверами принтера HP LaserJet, которые, как известно, были плохими примерно до декабря прошлого года, когда они переделали базовую библиотеку DLL, которая устранила целую кучу сбоев. Журнал изменений в их примечаниях к выпуску сделан для интересного чтения.
В любом случае, вы могли бы попробовать «sc \ servername stop spooler» со своей рабочей станции и посмотреть, сможет ли он подключиться и убить спулер печати на ошибочном сервере, что может помочь исключить проблему с драйверами принтера.
ProcessExplorer (бесплатно) - полезный инструмент для более глубокого изучения запущенных процессов, особенно. те, которые работают под svchost.exe, которые обычно скрыты. У нас был случай, когда драйвер принтера HP (постоянная проблема) работал на 100% на одном ядре. ProcessExplorer позволил нам: а) найти командную строку, которая использовалась для его запуска (которая показала, что это HP) и б) убить только эту задачу. Рекомендуемые...
Кроме того, диспетчер производительности AppSense действительно хорошо справляется с пиковыми нагрузками на ЦП в XenApp. Он бы рекомендовал это, но это слишком дорого ИМХО. Каждый раз, когда мы достигаем мощности наших серверов, мы идем «AppSense или другой сервер?». Мы всегда выбирали более позднее время, так как цена в 1000 фунтов просто завышена для того, что он делает. Тем более, что сейчас мы используем бесплатный XenServer и можем клонировать существующий сервер XenApp за час.
Один из наших клиентов использует BigBrother, который представляет собой удаленный мониторинг / состояние работоспособности серверов. Я быстро поигрался с испытанием, но оставил его так же, как и на арене большой корпорации.
Можете ли вы оставить сеанс открытым и запустить диспетчер задач самостоятельно? Отсортируйте диспетчер задач по загрузке ЦП, и когда вы увидите 100%, ищите фиговый процесс.