3

Проблема:

  • Иногда мой Macbook становится очень медленным после пробуждения от сна
  • Я открываю Activity Monitor и замечаю, что некоторые процессы, такие как makewhatis , занимают 100% CPU
  • Я убиваю процесс [es], а затем все снова работает нормально

Вопросы:

  • Я предполагаю, что эти процессы являются хрон-заданиями. Это верно?
  • Это нормально, чтобы убить их?
  • Есть ли способ, чтобы эта проблема не возникла?
  • Это исправлено на Snow Leopard?

Я использую Leopard (10.5.8) на MacBook5,1

2 ответа2

1

Чтобы увидеть, если они рабочие места cron .... сделать

crontab -l 

в терминале

Скорее всего, вы получите

crontab: no crontab for (user)

большинство запланированных заданий обрабатываются launchd в версии 10.5 и выше.

Чтобы проверить запланированные задания, которые управляются launchd, выполните

sudo launchctl list 

Если вы видите какое-либо из заданий, возвращающих 1 это указывает на наличие проблемы.

1

Вы почти наверняка увидите, как launchd periodic daily , periodic weekly и periodic monthly рутинных работ по обслуживанию системы, которые выполняют такие действия, как просмотр журналов и удаление неиспользуемых временных файлов. Эти задания обычно выполняются в 3 часа утра, но если ваша машина в это время спала, то launchd запускает их при следующем пробуждении вашей машины.

Задание , которое, вероятно, работает дольше всего и замедляет работу системы с большим количеством дисковых операций ввода-вывода, - это еженедельное задание makewhatis (в субботу утром, в 3 часа ночи), которое обновляет базу данных имен файлов, используемую традиционной командой locate Unix (вроде как old- школа мдс / прожектор). Вы можете отключить это в /etc/defaults/periodic.conf , изменив строку

weekly_whatis_enable="YES"

в

weekly_whatis_enable="NO"

Если вы добавили или изменили большое количество файлов в вашей системе, при следующем makewhatis это может занять много времени. Если вы убиваете его каждый раз, и он никогда не завершается, то на следующей неделе ему придется начинать все сначала. Меня обычно не беспокоит makewhatis , хотя моя система не работает быстро, особенно мой диск. Единственный раз, когда я действительно замечаю это, когда я добавляю огромное количество файлов в свою систему, например, после проверки всего дерева исходных текстов операционной системы NetBSD.

Если makewhatis и другие periodic задания не являются всей вашей проблемой, имейте в виду, что launchd предоставляет службу отсрочки до следующего пробуждения для любого launchd задания, в котором используется ключ StartCalendarInterval . Вот способ быстро увидеть, какие запущенные задания в вашей системе используют этот ключ:

grep -r StartCalendarInterval {/System,,~}/Library/Launch{Daemons,Agents}/

(NB: Я думаю , что фигурные скобки в этом заявлении могут быть bash -измом)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .