Назад | Перейти на главную страницу

Сервер OS X: все приложения «не отвечают» и процессор закреплен

На моем сервере OS X 10.5 каждый раз, когда я запускаю приложение, он переходит на 100% процессор и «не отвечает». Терминал, Консоль, Системные настройки, все обычные приложения. Единственное, что не пострадало, это Finder.

Я могу подключиться к серверу по ssh, и «вверху» показывает любое открытое мной приложение, закрепленное на 100%. Я могу убить эти процессы, чтобы все вернулось к 0% (я предполагаю, с фоновыми процессами), но при открытии нового приложения - например, Монитор активности - приложение снова закрепится.

Есть идеи, как устранить неполадки и исправить без перезагрузки?

Спасибо!

Еще один, возможно, полезный диагностический шаг - запустить sample в одном из закрепленных приложений; что-то вроде sample TextEdit 10 10 - это будет смотреть, что TextEdit делает каждые 10 миллисекунд в течение 10 секунд (то есть 1000 общих выборок), и выгружать статистику в дерево вызовов. Дерево может быть трудно интерпретировать, но там, вероятно, есть подсказки о том, на что программа тратит так много времени процессора.

Думаю, я бы начал с выхода с сервера. Вероятно, вы получите лучшие результаты, используя различные серверные инструменты удаленно или подключившись по SSH через Terminal.app.

Первые три вещи, которые я хотел бы проверить:

  1. Что-нибудь странно выглядит в инструменте Server Admin?
  2. Закреплены ли какие-либо процессы, которые НЕ принадлежат ВАШЕМУ пользователю?
  3. Если у вас есть другой пользователь в системе, приводит ли вход в систему с этим пользователем к такому же поведению?

Моя первоначальная мысль заключается в том, что, возможно, что-то пошло не так с учетной записью пользователя, которую вы используете для администратора, и что это может быть связано с серверным процессом, от которого зависит пользователь (например, Open Directory). Приложения, которые вы запускаете, могут пытаться получить ресурс пользовательского уровня, который система по какой-то причине не разрешает, несмотря на его очевидную доступность, и поэтому они раскручиваются, пытаясь получить к нему доступ снова и снова.

Но это только начальная мысль - вы сможете более точно диагностировать это с помощью трех шагов, описанных выше.

Кроме того, используйте cat через удаленный SSH для проверки различных журналов сервера (если попытка запустить Console.App невозможна из-за этого 100% вращения) и посмотрите, продолжает ли одно сообщение повторяться снова и снова.

Оттуда вы можете начать сортировку проблемы. Удачи!