我在OSX上,我的系统几乎每10分钟就会响应几秒钟。 (它给了我旋转的沙滩球死亡)。我想知道是否有任何方法可以隔离问题(我有足够的内存,并且没有分页/捶打)。任何可以帮助我监视和隔离这种行为原因的Unix / OSX工具?
答案 0 :(得分:4)
活动监视器(cmd+space
,类型,activity monitor
),可以让您直观地了解系统上发生的情况。如果你说它没有堵塞CPU的进程,请查看磁盘/ IO活动。也许你的磁盘正在南方。
答案 1 :(得分:3)
多年来,我一直遇到系统挂起问题。看起来通常它们是文件系统错误的结果,但Apple没有做足以解决这个问题。系统可靠性应该是100%的重点,我当然厌倦了这些问题。我已经开始将大量文件和所有备份移动到FreeBSD服务器上的ZFS卷上,这有点帮助,因为它已经开始让我放松,让我能够更快地从问题中恢复。另外,我已经将我的系统卷放在一个大型SSD(240GB,因为我有很多支持文件,并且我试图避免使用符号链接太多)和我的用户文件夹放在另一个驱动器上。这也有助于增加可靠性。
说完这个之后,你应该尝试探索spindump
和stackshot
,看看你是否可以在系统完全冻结之前捕获冻结进程。您很可能有一个或两个试图访问坏块的应用程序,它只是挂起系统,或者由于某种原因,系统调用正在暂停io,您有一个进程阻塞所有其他进程。
同时尝试:top -l2 -S > top_output.txt
并对悬挂/僵尸进程的结果进行exame。
您对此更深入,您可能会发现订阅内核开发人员列表(darwin-kernel@lists.apple.com)很有用,因为这里有一些非常非常尖锐的cookie可以解释一些最隐晦的问题,有助于准确理解恐慌是什么。
此外,您可能希望卸载已安装的任何VM。有一个特定的开发人员,我从非常可靠的消息来源,听到了非常错误的管理程序问题,如果您安装了任何问题,那将是明智的。也许是时候完全清理你的kexts了。
但是,总而言之,我们真的非常迫切需要一个更好的文件系统和主动机制来监视坏块。当我以为我们正式获得ZFS时,我赞美了这一天,并高兴地欢呼。我很怀疑Lion在HFS +前面的表现要好得多,我当然正在考虑ZFS用于我的用户量+工作站上的其他存储,因为它能够擦除坏块并消除这些问题。
他们是我们在Apple硬件上的存在并且已经在这个领域工作了20年以及成千上万的客户,硬盘故障应该被认为是不可原谅的。即使实际的mfgs不能也不会修复它,操作系统开发人员有责任更好地处理异常并防止此类故障,以阻止静默数据丢失和诸如此类的恶梦。
答案 2 :(得分:2)
我会运行'top'以及tail -f / var / log / messages(或主日志文件所在的位置)的混合。
在挂起之前/之后可能是正确的,会出现一些错误消息。从那里你可以开始解决你的问题。
答案 3 :(得分:2)
Activity Monitor是顶级的GUI版本,使用Leopard,您可以使用“Sample Process”功能来查看您的罪魁祸首任务花费大部分时间做的事情。同样在Utilities中,您将找到Console aka tail -f / var / log / messages。
答案 4 :(得分:1)
作为第一道攻击线,我建议让top在终端窗口运行,在那里你可以看到它,并在那里看着失控的工作。
答案 5 :(得分:1)
如果其他答案没有让你到任何地方,我会运行关注正常运行时间并记录锁定时间和正常运行时间。每隔10分钟锁定约与每10分钟锁定正好完全不同;后者建议在 crontab -l </ strong>中查找以* / 10开头的作业。
答案 6 :(得分:1)
交换发生时,通常会出现定期无响应。你的系统中有足够的内存吗?检查磁盘io以查看是否有峰值。
编辑:
我最近在Mac上看到了类似的行为,这是因为文件系统被破坏所以OS X试图访问磁盘上的现有块,甚至尝试使用Disk Manger修复它,告诉我重新格式化并重新安装。这样做并使用Time Machine重新建立有帮助!
如果执行此操作,请仔细检查硬盘上HFS上是否启用了日记功能。这有助于避免它再次发生。
答案 7 :(得分:1)
使用Apple的仪器。老实说,这对于找到像这样的问题很有帮助。