Leopard Macbook 从睡眠/cron 唤醒后非常慢?

Leopard Macbook 从睡眠/cron 唤醒后非常慢?

问题:

  • 偶尔,我的 Macbook 从睡眠状态唤醒后会变得非常慢
  • 我打开活动监视器,发现一些进程makewhatis占用了 100% 的 CPU
  • 我终止了该进程然后一切又恢复正常

问题:

  • 我猜测这些进程是 cron 作业。对吗?
  • 杀了他们可以吗?
  • 有没有什么办法可以让这个问题不再发生呢?
  • 这在 Snow Leopard 上修复了吗?

我在 MacBook5,1 上使用 Leopard (10.5.8)

答案1

launchd您几乎肯定会看到启动periodic dailyperiodic weekly和常规系统维护作业的效果periodic monthly,这些作业会执行诸如滚动日志和删除未使用的临时文件等操作。这些作业通常在凌晨 3 点运行,但如果您的计算机当时处于睡眠状态,launchd则会在下次计算机唤醒时启动它们。

运行时间最长、磁盘 I/O 最多的作业可能是每周(周六凌晨 3 点)的makewhatis作业,该作业更新传统 Unix 命令使用的文件名数据库locate(有点像老式的 mds/Spotlight)。您可以/etc/defaults/periodic.conf通过更改以下行来禁用此功能

weekly_whatis_enable="YES"

weekly_whatis_enable="NO"

如果您在系统中添加或修改了大量文件,下次makewhatis运行时可能需要很长时间。如果您每次都终止它并且它永远无法完成,那么下周它将不得不重新开始。我通常不会受到困扰makewhatis,即使我的系统并不快,尤其是我的磁盘。我真正注意到它的唯一一次是当我向系统添加了大量文件时,例如在检查 NetBSD 操作系统的整个源代码树之后。

如果makewhatis其他periodic作业并不是您的全部问题,请注意,为使用该键的launchd任何作业提供延迟到下一次唤醒服务。以下是快速查看系统上哪些启动的作业使用该键的方法:launchdStartCalendarInterval

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

(注意:我认为该语句中的花括号可能是一种bash“主义”)

答案2

要查看它们是否是 cron 作业...请执行以下操作

crontab -l 

在终端

你很可能会得到

crontab: no crontab for (user)

在 10.5 及更高版本中,大多数计划作业均由 launchd 处理。

要检查由 launchd 控制的计划作业,请执行以下操作

sudo launchctl list 

如果您看到任何作业返回“1那表明它存在问题”。

相关内容