pet*_*etr 6 mac kernel kernel-extension osx-lion
我在运行一些内核扩展时遇到了问题,因为在使用一两天后,内存使用量kernel_task增长到 1.2GB 并一直保持在那里。问题是我安装了一些第三方扩展,尝试一个一个地删除它们会很痛苦,更不用说泄漏实际上可能存在于某些核心模块中。
那么,有没有办法查看该kernel_task总和的per-kext 内存消耗细分?
这里是一个命令行实用程序,它允许你看记忆有线内核扩展。然而,内存泄漏通常不会显示为有线内存,但我们可以希望:
打开终端
类型 kextstat
如果您没有看到任何可疑的罪魁祸首内核扩展(或任何.kext 的)的有线内存列大于大小列(.kext 的默认内存大小),请继续执行步骤 4。
键入man kextutil,通读此手册页。我已经成功地使用它来帮助正确诊断内核扩展的安装问题。它可能很有用,至少对您的信息有用。
X. 我不确定kextcache会帮助你。此外,就调试有问题的 .kext 而言,您需要使用 Xcode 开发环境之类的东西,并且至少有 2 台机器可用。我只想说,小心你的boot-args。搜索 Apple 自己的开发文档以了解如何在您的平台上执行此操作。如果您参与了内核扩展的编码,您应该已经知道如何做到这一点。这不是为了击键。
要记住的一些要点:
如果可用,操作系统将使用更多内存。因此,如果您最近将 ram 从 8GB 升级到>16GB,您可能已经注意到 kernel_task 的内存使用量有很大的飞跃。
集成 GPU(显卡)与 kernel_task 共享内存,因此某些进程会导致使用的内存跳起来。大多数情况下,当进程退出时,GPU 会释放内存,并且 kernel_task 的内存消耗会回落。
如果您无法在 Terminal.app 中进行跟踪,我会做的是:
下载并安装fseventer,(然后重启 mac),然后运行 fseventer。
打开活动监视器,看看是否可以找到这些程序的相关进程
并排观看这两个程序,看看您是否可以将一个进程链接到将大量数据写入磁盘(HP 打印机软件是一种臭名昭著的膨胀软件,经常执行某些操作)。然后尝试从 AM 退出进程,看看 fseventer 中的活动是否停止,或者 kernel_task 的内存消耗是否下降了一些。
如果您认为您知道 .kext 但不确定哪个程序,或者知道该程序但不确定哪个 .kext,那么使用可疑包(也可以在下面链接的 SU 问题中找到)检查任何 .pkg/.mpkg您怀疑可能与 .kext 相关联的文件。您还可以按住 Control 单击/右键单击 .m/pkg 文件,然后单击“显示包内容”以进入。
另一种查找程序某些部分所在位置的方法是进入 Terminal.app,键入lsbom (后面有一个空格),然后从中拖动相关文件,/Library/Receipts然后键入 delete 一次,然后按/Contents/Archive.bom回车键。(如果许多程序是从另一台计算机迁移过来的,则这将不适用于许多程序)
您还可以使用AppCleaner来协助清除/调查。
...帮助人员了解也很有帮助--> 您正在运行什么硬件/软件?所有硬件/软件都是最新的吗?所有这些 .kexts 都是为了完成类似的任务吗?你在干嘛?您是否连接了任何大型硬件(即音频接口)?
如果您无法通过这种方式弄清楚,我将查看下面的清单,看看您是否可以回答/消除/收集它们的任何内容(不幸的是,像这样的问题通常需要进行一些调查,除非您很幸运并且程序非常明显在其资源消耗中):
如果您的程序已迁移,最好重新安装它们。迁移,甚至简单地克隆驱动器也不是没有注意事项。
坏硬盘也可能导致这种情况发生,或者逻辑板的一部分实际上可能出现故障或损坏(我亲眼所见)。运行 Apple Hardware Test (AHT)(应该在原始安装光盘上随机器一起提供)(或 Apple Service Diagnostics (ASD),如果您有在 Apple 工作的朋友,或者直接拿来)
您确定哪些程序运行了内核扩展?我有大量第三方应用程序在隐藏/隐身的各个阶段在后台运行,而且其中大多数没有安装内核扩展。
您是否检查了应用程序>实用程序中的 Console.app?如果您还没有检查日志文件,您应该这样做,它可能会向您或可能有帮助的一方提供一个提示,在这种情况下,您可以修改问题的具体性,除非您决定从您的文件中删除罪魁祸首系统。
终端中的“top”命令可以提供比活动监视器更多的细节。
我喜欢Menu Meters程序,它可用于监视内容,同时不保持活动监视器打开。当然,它将运行另一个第三方程序。
您是否以安全模式启动(禁用额外的内核扩展)?
就碎片/自重新/安装以来的天数而言,这是一个非常“干净”的安装吗?(显然不是在运行的第三方应用程序数量方面)。
您是在共享大量不断备份的文件还是批量编辑或 a/v 转码?
第一次发帖:
根据活动监视器,我的 kernel_task 使用了 >800MB 的实内存和 >50MB 的 VM。正常运行时间少于 6 小时。我刚刚切换了用户并退出了 Aperture,它使用了大约 3GB 的实际内存,内核任务减少了大约 50MB。
2012 年 9 月 12 日:
kernel_task 正在使用 1.04GB 的实内存 67MB 虚拟机。正常运行时间 = ~5.5 天。两个用户登录,当前用户在 5 个不同浏览器上的数十个浏览器选项卡。
您可能还想查看有关 SU 的已回答问题及其已接受的答案,以及其中列出的软件,这些软件都可以作为帮助您深入了解问题的工具。
| 归档时间: |
|
| 查看次数: |
3905 次 |
| 最近记录: |