控制台中关于_DirtyJetsamMemoryLimit键的奇怪消息


36

此消息始终定期显示在控制台日志中。

com.apple.xpc.launched: (comm.apple.imFoundation.IMRemoteURLConnectionAgent) the _DirtyJetsamMemoryLimit key is not available in this platform

谁能解释它的显示原因,以及它是否对系统性能有影响,以及如何消除它?


1
我在两台优胜美地机器上有相同的消息(一个从Mavericks升级,另一个是全新安装)。数小时的互联网搜索让我无所事事……所有结果都与iOS编程有关(因此,共享代码库可能会带来问题吗?)。也许它只需要Apple的10.10.1更新即可。
Dustin Wheeler 2014年

这里同样的问题。下面的控制台日志。我没有看到真正的错误,但是加载确实花了整整一分钟的时间。2015年4月17日10:31:11.583 com.apple.xpc.launchd [1]:(com.apple.imfoundation.IMRemoteURLConnectionAgent)_DirtyJetsamMemoryLimit密钥在此平台上不可用。15/4/17/10:31:52.000 AM内核[0]:AppleCamIn :: power_on_hardware 4/17/15 10:31:53.292 AM AppleCameraAssistant [373]:StartHardwareStream:创建帧接收器:1280 x 720(420v)[12.00] ,29.97] fps

这里同样的问题。我在macOS 10.13.4 High Sierra上。
neoneye

Answers:


40

Jetsam是一个监视OSX和iOS中内存使用情况的系统。它会保留设备上的进程列表,以监视设备可用RAM即将用尽的情况,并查找要杀死的事物以释放RAM。它还会监视使用过多RAM的进程。突破“高水位线”的水平。

该错误消息是因为该代码在OSX和iOS之间共享,但是_DirtyJetsamMemoryLimit键仅在iOS上可用。

您可以通过以下链接阅读有关Jetsam的更多信息。

http://newosxbook.com/articles/MemoryPressure.html

如果您真的有兴趣,可以阅读以下两个文件中的一些Jetsam代码。

http://www.opensource.apple.com/source/xnu/xnu-1456.1.26/bsd/kern/kern_memorystatus.c http://www.opensource.apple.com/source/xnu/xnu-1456.1.26 /bsd/sys/kern_memorystatus.h

长话短说,我认为此错误消息不一定表示性能问题。iOS上的内存系统要严格得多,因为iOS没有诸如swapfiles(又称虚拟内存)之类的东西,它们使系统无法超过RAM的物理量。OSX有更多的游戏空间。

任何人都可以通过使用活动监视器并在CPU视图中显示所有进程来验证它对性能没有影响。查看该syslogd行,确保与您希望在Mac上执行的其他任务相比,CPU时间合理。


1
好。因此,此_DirtyJetsamMemoryLimit与优胜美地上的重复崩溃之间没有联系吗?

@Domnuldid没有连接。我的Mac一直稳定地记录此错误消息,因此没有明确的迹象表明它们只是巧合。
bmike

@bmike我们确定sysmond与Jetsam有关系吗?我给人的印象是Jetsam完全包含在内核中,并且sysmond仅用于填充Activity Monitor和top
Alistair McMillan

@AlistairMcMillan原谅我的错误- syslogd是相关的守护程序,由于日志文件处理和日志消息路由,该守护程序将显示过多的IO / CPU。您是正确的sysmond
bmike

4
如果代码是在iOS和OS X之间共享的,则Apple des应该过滤输出日志消息...在OS X计算机上不显示与iOS相关的消息...只要圣经,系统日志就会变成...
erwin
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.