Bri*_*tow 6 mac osx-snow-leopard logging macos
有些东西填满了我的系统日志文件,以至于 console.app 只会显示每个文件的最后半小时。看起来有些东西正试图逃离它的沙箱,但我不确定是什么......我收到了许多重复的消息,看起来像:
Feb 3 00:29:57 Brians-mini sandboxd[16]: syslogd(15) deny file-read-data /private/var/log/asl/StoreData
Feb 3 00:29:57 Brians-mini sandboxd[16]: syslogd(15) deny mach-task-name
Feb 3 00:29:57 Brians-mini sandboxd[16]: syslogd(15) deny file-read-data /private/var/log/asl/StoreData
Feb 3 00:29:57 Brians-mini sandboxd[16]: syslogd(15) deny mach-task-name
Feb 3 00:29:59: --- last message repeated 1 time ---
Feb 3 00:29:57 Brians-mini sandboxd[16]: *** process 16 exceeded 500 log message per second limit - remaining messages this second discarded ***
Feb 3 00:29:57 Brians-mini sandboxd[16]: syslogd(15) deny mach-task-name
Feb 3 00:30:00: --- last message repeated 499 times ---
Feb 3 00:29:58 Brians-mini sandboxd[16]: *** process 16 exceeded 500 log message per second limit - remaining messages this second discarded ***
Feb 3 00:29:58 Brians-mini sandboxd[16]: syslogd(15) deny mach-task-name
Run Code Online (Sandbox Code Playgroud)
编辑添加:
活动监视器说sandboxd 占用了60% 的cpu,而syslogd 占用了120%。现在,我假设那是 PER 处理器(我使用的是 core 2 duo)但是对于这两个进程来说,这仍然是大量的 CPU...
编辑:var/log/asl 根据请求:
drwxr-xr-x 25 root wheel 850 Jan 6 06:41 ./
drwxr-xr-x 47 root wheel 1598 Feb 4 15:16 ../
-rw-r----- 1 root admin 11414 Jan 4 11:49 2010.01.04.U0.G80.asl
-rw------- 1 root wheel 874 Jan 4 09:41 2010.01.04.U0.asl
-rw------- 1 acordex wheel 43862 Jan 4 17:53 2010.01.04.U501.asl
-rw-r--r-- 1 root wheel 44614 Jan 4 23:42 2010.01.04.asl
-rw-r----- 1 root admin 10241494 Jan 5 16:53 2010.01.05.U0.G80.asl
-rw------- 1 acordex wheel 669585 Jan 5 18:11 2010.01.05.U501.asl
-rw-r--r-- 1 root wheel 772889 Jan 5 23:42 2010.01.05.asl
-rw-r----- 1 root admin 9731 Jan 6 18:54 2010.01.06.U0.G80.asl
-rw------- 1 acordex wheel 404532 Jan 6 18:50 2010.01.06.U501.asl
-rw-r--r-- 1 root wheel 838013 Jan 6 18:53 2010.01.06.asl
-rw-r----- 1 root admin 52896 Sep 24 18:20 BB.2010.09.30.U0.G80.asl
-rw-r--r-- 1 root wheel 50908 Sep 29 10:30 BB.2010.09.30.asl
-rw-r----- 1 root admin 58875 Oct 30 11:18 BB.2010.10.31.U0.G80.asl
-rw-r--r-- 1 root wheel 46188 Oct 30 17:41 BB.2010.10.31.asl
-rw-r----- 1 root admin 10322 Nov 5 18:21 BB.2010.11.29.U0.G80.asl
-rw-r--r-- 1 root wheel 2159 Nov 4 17:21 BB.2010.11.29.asl
-rw-r----- 1 root admin 6586 Nov 9 14:06 BB.2010.11.30.U0.G80.asl
-rw-r--r-- 1 root wheel 23147 Nov 25 16:36 BB.2010.11.30.asl
-rw-r----- 1 root admin 21686 Dec 16 19:06 BB.2010.12.31.U0.G80.asl
-rw-r--r-- 1 root wheel 36951 Dec 23 18:32 BB.2010.12.31.asl
-rw-r--r-- 1 root wheel 2584 Jan 6 16:49 BB.2011.01.31.asl
-rw-r--r-- 1 root wheel 12 Jan 6 18:54 StoreData
-rw-r--r-- 1 root wheel 8 Jan 6 16:59 SweepStore
Run Code Online (Sandbox Code Playgroud)
在我看来,它syslogd本身就是导致问题的原因——它已被沙盒化,远离其数据文件,因此当它尝试访问它们时,它会生成一个沙盒错误,该错误会被传递给syslogd,从而触发它再次尝试获取其文件。 ..这重复一样快,syslogd并且sandboxd可以走了。
检查/System/Library/LaunchDaemons/com.apple.syslogd.plist(控制 syslogd 启动方式的启动项)的内容。它应该有一个这样的部分:
<key>ProgramArguments</key>
<array>
<!--
Un-comment the following lines to run syslogd with a sandbox profile.
Sandbox profiles restrict processes from performing unauthorized
operations; so it may be necessary to update the profile
(/usr/share/sandbox/syslogd.sb) if any changes are made to the syslog
configuration (/etc/syslog.conf).
-->
<!--
<string>/usr/bin/sandbox-exec</string>
<string>-f</string>
<string>/usr/share/sandbox/syslogd.sb</string>
-->
<string>/usr/sbin/syslogd</string>
</array>
Run Code Online (Sandbox Code Playgroud)
请注意,在上面的示例中(取自我的 Mac),syslogd 周围的沙箱包装器被注释掉了。在你的 Mac 上也是这样吗?如果没有,请重新添加注释标记,然后重新启动syslogd(您可以使用 来执行此操作launchctl,但我只会重新启动机器)。
另一个注意事项:我查看了沙箱配置文件,/usr/share/sandbox/syslogd.sb它看起来(在我不专业的眼中)确实拒绝mach-task-name和访问/private/var/log/asl/StoreData- 显然,Apple 尚未调试(/更新)配置文件以匹配syslogd实际需要的内容。 ..
| 归档时间: |
|
| 查看次数: |
15738 次 |
| 最近记录: |