
正文
关于macos的系统诊断报告的信息
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
[译]《iOS Crash Dump Analysis》- 系统诊断
崩溃报告仅仅是更大的系统诊断报告的一部分。
一般来说,作为应用程序的开发人员,我们并不需要再深入研究。但是,如果我们的问题可能是由一系列无法解释的事件或更加复杂的系统与硬件或 Apple 提供的系统服务的交互而引发的话,那么我们不仅需要查看崩溃报告,还需要研究系统诊断信息。
在我们复现崩溃环境时,我们可能需要安装移动设备管理配置文件(以打开某些调试子系统),或创建虚拟网络接口(用于网络嗅探)。苹果提供了一个涵盖每个场景的网页。
在 iOS 设备上,基本的思路是我们安装一个配置文件,该配置文件会更改设备以产生更多日志记录,然后重现崩溃(或是让客户进行这样的操作)。然后,我们按设备上的特殊键序列(例如,音量按钮和侧面按钮)。 设备会短暂振动,表明它正在运行程序 sysdiagnose ,该程序会提取许多日志文件。 这可能需要花费 10分钟来处理,并生成一个大文件(压缩的tar文件)。
然后,与Mac共享本地sysdiagnosis文件。我们点开菜单 Settings Privacy Analytics and Improvements Analytics Data 。向下滚动以查找开头的文件 sysdiagnose_YEAR.MONTH.DAY_* 。
这是一个 sysdiagnose 日志文件示例
选择此文件后,我们将得到一个空白屏幕,但这不是问题。 我们单击顶部工具栏中的 Share 图标,然后选择适当的共享目标。
在此存档文件中,有许多系统和子系统日志,因此我们可以随时查看崩溃发生的原因。
在 macOS 上也可以使用等效方法。
除了 sysdiagnose 日志,我们可以看到我们的设备还有很多其他文件。这些信息可以让我们了解系统的总体运行状况。
SUBSYSTEM.cpu_resource-YEAR.MONTH.DAY_*.ips.synced 包含 CPU Resource 配置文件日志。
这是一个来自 apfs_defragd 的例子,APFS 文件系统碎片整理程序。
SUBSYSTEM.diskwrites_resource-YEAR.MONTH.DAY_*.ips.synced 包含 Disk Utilization 配置文件日志。
这是一个来自 assetd 的例子,Asset 管理软件。
Jetsam 一词最初是一个航海术语,指船只将不想要的东西扔进海里,以减轻船的重量。在 iOS 中, Jetsam 是将当前应用从内存中弹出以满足当前最重要应用需求的系统。
与 macOS 相比,激进(积极)的内存管理是 iOS 的一个特点,macOS 对内存使用有非常宽松的限制。通俗来说,移动设备是内存受限的设备。然而,随着移动设备的功能越来越强大,特别是 iPad 设备,这种差异已经越来越小。现在,Apple Watch 被认为是内存受限的设备。然而, Jetsam 严格的内存管理系统为我们提供了良好的服务,在给定的 RAM 量下保证最佳的用户体验。
最好把 Jetsam 看作是正常的行为,从内存中弹出并不一定是我们应用程序设计的错误。我们本来可以在后台运行,当用户使用拍照功能进行大量的拍照和图像特效时,内存使用量会增加。
如果我们经常从内存中弹出,我们必须考虑我们是否在后台使用了过多的内存; 我们的目标应该是不超过 50 MB或更小。我们还应该编写程序方法来保存上下文、销毁缓存和保存状态,以便从保存的状态恢复。然后我们应该 Hook 在这样的功能,当我们从系统得到一个内存警告消息时,如 AppDelegate 中的 applicationDidReceiveMemoryWarning: 的回调 ,执行该方法。
Apple 记录了 Jetsam 事件可能发生的各种原因,以及如何避免它们的内存管理技术。
并没有实际的文档说明这种限制,但是通常应用程序比应用程序扩展拥有有更多的后台内存使用。应用程序扩展有各种类型的扩展,每一种都有自己的限制。例如,一个照片编辑应用程序扩展会有很大的限制,因为它通常是一个重量级的图像处理程序。
在 Jetsam 报告中首先要查找的是 reason 字段。
实际上,我们还没有见过 fc-thrashing 或 jettisoned 的情况,但是它们仍然是可能的。
Jetsam 报告被命名 JetsamEvent-YEAR.MONTH.DAY_*.ips.synced .
下面是一个例子报告说明了 highwater 事件的 wifianalyticsd :
感谢你阅读本文! ?
相关问答
Q1: MacBook笔记本运行慢,是哪方面的原因?
如果 Mac 运行速度太慢
如果您发现 Mac 运行速度慢,则可以检查若干可能原因。
电脑的启动磁盘可能没有足够的可用磁盘空间。为了腾出磁盘空间,您可以将文件移到另一个磁盘或者外置储存设备,然后删除启动磁盘上不再需要的文件。macOS 也可以帮助您优化储存空间,方法是将文件储存在云端并帮助您识别不再需要的文件。
您正在使用的应用所需的内存可能超出了电脑能轻松获得的内存量。若要查看您的电脑有多大内存,请选取苹果菜单 “关于本机”,然后查看“概览”面板中列出的内存大小。请参阅应用附带的帮助以了解其系统要求。
若要了解如何增加电脑的内存,请选取苹果菜单 “关于本机”,点按“内存”,然后点按右下角中的“内存升级说明”。(不适用于所有电脑。)
退出所有与您的电脑不兼容的应用。例如,应用可能需要其他处理器或图形卡。请参阅应用附带的文稿以了解其系统要求。
若要查看电脑的处理器类型,请选取苹果菜单 “关于本机”,然后点按“概览”。
若要查看电脑所配备的图形卡,请选取苹果菜单 “关于本机”,然后点按“显示器”。电脑中图形卡的名称将显示在窗口中间。
退出所有不在使用的应用。
如果磁盘出现问题,请使用“磁盘工具”验证并尝试修复任何问题。
使用“活动监视器”查看是否某个特定应用或活动在 Mac 上产生了大量需求。
Q2: mac开机慢,怎么改善?
经常听到小伙伴在抱怨PC电脑很慢,但是其实Mac电脑随着用的时间增长,运行速度也会越来越慢,大多情况下是由于硬件性能退化或者跟不上最新系统所导致的,也有时候是软件的问题导致的。下面就从硬件和软件两个方面来告诉大家怎样解决这个问题。
一、硬件方面
早期购买的Mac电脑,硬件的性能方便肯定是比不上现在新的Mac电脑,因此如果早期的电脑在当下使用,特别还升级了新版的系统之后,硬件性能跟不上,就会导致Mac越来越慢。
1.内存容量太小
内存容量的大小关乎着电脑整体运行的速度。当你同时打开多个软件时,内存太小就会不够用,导致Mac运行缓慢。如果一些早期的Mac电脑,可以考虑通过增加内存来解决运行速度缓慢的问题。
2.硬盘速度
早期的Mac电脑采用的是传统的机械硬盘,速度肯定是要比当前Mac上配置的固态硬盘(SSD)要慢很多。硬盘速度的快慢体现在开机、关机、以及打开应用的速度上。如果可以的话,可以考虑添加一块 SSD 硬盘。
解决了内存大小与硬盘速度的问题,Mac电脑在速度上一定会有明显的提升。
二、软件方面
每一代操作系统的更新,都会在界面上有一些变化,同时也会增加对硬件性能的消耗。除了通过升级硬件来解决 Mac 速度慢的问题,还可以从系统软件方面着手。虽然效果可能没有硬件方面的改进对Mac速度的提升那么明显,但是在运行速度方面还是会有所提升。
1.在 Mac OS 中,在打开或最小化应用程序窗口时,都会显示动画效果,一般情况下系统默认的是“神奇”效果。如果你当前电脑硬件性能不好,运行速度较慢,可以更改其动画效果。
操作方法:
(1)点击“系统偏好设置”中的“Dock(程序坞)”。
(2)将“最小化窗口时使用:”一栏中的效果更改为“缩放效果”。
2.养成一个整理桌面文件的好习惯也是很有必要的。有的小伙伴比较随性,喜欢将所有文件都放在桌面,整个桌面都放满了各种各样的文件。桌面上文件太多,就会导致开机速度变慢,影响Mac的运行速度。如果桌面上放了太多的文件,建议小伙伴们将其整理分类存进其他目录中,这样桌面看起来整洁有序,又能提升Mac的运行速度,如此一举两得的事情,何乐而不为。
3.当前 Mac 上较新的系统,增加了透明效果。使用这项新的界面显示效果,将占用不少硬件资源。就好比玩游戏,渲染的特效越多,如果没有足够的硬件支持,玩起来就越卡。对于电脑也是一样的,如果你升级了较新的系统,然后觉得Mac的运行速度变慢了,就可以考虑关闭系统的透明效果,来减少资源占用,提升速度。
操作方法:
(1)点击“系统偏好设置”的“辅助功能”。
(2)选择“视觉”栏下的“显示器”,选中“减少透明度”选项即可。
4.经常有些软件不经过我们的同意,就存在在开机启动项中。开机启动项,顾名思义,随着Mac电脑的开机同时启动的软件。开机启动项越多,开机速度越慢,从而也会影响Mac的运行速度。我们可以清理一些不必要的开机启动项,提升电脑速度。
操作方法:
(1)打开“系统偏好设置”的“用户与群组”。
(2)点击“登录项”选项卡,就会出现当前的开机启动项。选中不需要的开机启动项,点击下方的减号“—”按钮,即可将其从开机启动项中除去。






