肇鑫的日常博客

肇鑫 / Owen Zhao

独立开发者,主要开发 iOS、watchOS、macOS 应用。

目前在维护 SleepTapRooster Time,以及 Markdown Writer 相关工具。

最新文章

iMac 27 5K 2014 late 故障现象

技术

先说结论

在24小时之内发生了5次问题,其中4次是使用时电脑自动断电并无法立刻开机,需要切断电源并等上一段时间再开机。1次是我主动关机之后,无法再开机,症状与自动断电的相同。

从某次开机到自动断电,最短的时间是30分钟左右。例如下文提到的第三次和第四次是在1小时之内发生的。最长,可能用了整晚都没事。

我个人倾向于这个和系统的负载有关,CPU负载高或系统整体功耗高时,更容易自动断电。我的系统没有安装游戏,因此没测试显卡负载高的部分。

第一次故障

2016年12月21日下午5点10分左右,正在运行的iMac突然断电(屏幕全黑,USB鼠标灯灭)。我开始还以为是停电了,但是看了一下插线板,发现灯都还亮着。

  • 按iMac背部的电源键,没有反应(正常开机会有“当……”的声音)。
  • 拔掉所有外接设备(USB鼠标,USB移动硬盘),再按电源键,依然没有反应。
  • 插拔电源线与插座,换另外一个插口,再试。没反应。
  • 拔开电源线与iMac,再试,没反应。
  • 拔下电源线,将iMac放到床上,打开iMac后盖,拔下内存再重新插上。
  • 只连电源线再开机,正常开机。进入系统之后连接鼠标和移动硬盘。一切正常。

第二次故障

本来这一切就应该结束了。但是我好奇究竟是什么原因导致这个问题。于是晚上我在iPad上搜索类似的故障。

其中,有一种说法引起了我的注意。该说法说,如果是电源的问题,那么你只要不关机,就不会有问题。比如你每次不使用时,都是用睡眠而不是关机,那么就没问题。一旦你选择了关机,那么再开就有一定的几率无法开机。

我一直都是使用睡眠而非关机的,所以这个说法很吸引我。22号上午8点多,我选择了关机。然后按电源键开机,发现的确没法打开了。

8:50的时候,我去苹果网站申请服务。这个时间我记得很清楚,因为苹果的服务是从9:00开始的。

9:00的时候我接到苹果打来的电话。听了我的说法后,苹果说可以安排上门,但是由于当时苹果的内部系统有问题,说是稍后安排好之后再通知我。期间我收到了苹果高级客服的邮件确认。

此时我尝试重新开机,发现竟然可以开机了。然后选择关机,再开机,竟然也都没有问题。于是我给苹果的高级客服写邮件,说明如果还没有申请维修的话,就先停下,我要再测试几天。苹果回复说系统还没有好,还没申请维修。

第三次和第四次故障

收到苹果回复的邮件的时间是上午10点。我使用了一段时间,iMac突然又自动断电了。这一次,我选择将内存插槽更换一下,之前是1、3,我更换为了2、4。更换没有起到作用,11点刚过不久,iMac又自动断电一次。

我只好再次预约了维修。

更进一步的研究

现阶段故障的定位还是太模糊了。自动断电太过随机,我期望可以更快的定位故障。

我仔细回想了一下。这几次故障时的共同点。第一故障时,我在Safari里看在线视频,Parallels Desktop的虚拟机开了两个,一个是macOS 10.12,一个是macOS 10.11,都在升级系统。当时CPU的负载较高。

第三次故障时,我为了进一步的测试,运行了视频转码软件,对系统进行压力测试,也是CPU高负载的项目。

因此,我猜可能是CPU高负载导致耗电升高,然后电源温度过高导致无法开机。

为了测试这个结论,我设计了一个实验。打开转码软件,让它把一个1080p的mkv,转码为mp4。我用手表定时了5分钟。软件显示转码要8分钟。5分钟时间到的时候,我点转码软件的暂停,结果就在我点暂停之后的瞬间,iMac断电黑屏了。

但是这个结论在后来的验证中没能证实。接下来的使用,包括整晚的使用,都没能出现断电的情况。因此,我这里还是没能得到一定能复现问题方式。

macOS Sierra 增强了与磁盘加密的兼容性

技术

之前的macOS,一旦启用了FileVault。在升级系统之后就会无法自动开启远程登录,必须本机登录才可以。新的macOS Sierra,同样的情形下,会自动进入到输入用户名和密码的地方。这样就方便多了。

现在,除非是断电,否则就不需要本机直连服务器了。可以一直远程登录。

网页版微博时间线的问题

随笔

相对于每次的“浪费”加载,新的时间线的思路就是“节省”,节省到什么程度呢?就是每个用户的时间线上的每条微博只从新浪加载一次。

具体实现是这样的。首次使用时,从微博加载到用户浏览器缓存,然后再用时就从缓存里调用,缓存失败也不从微博加载,而是显示一个虚假的正在加载,但是永远也不会成功。

验证方法:刷新微博到最新,然后清空浏览器缓存和cookie,关闭浏览器,再打开。重新登录微博。你会看到一个一直加载,但是永远不会成功。

从孤岛危机获得的vista驱动经验值

最近喜欢上了玩儿crisis(孤岛危机),结果听说最新的驱动提升了fps,看看自己当前的驱动是182.08,而最新的已经是186.18。于是很开心的从驱动之家下载了回来。

兴奋的安装上,打开游戏,玩儿了一会就黑屏了。ctrl+alt+del调出来任务管理器,查看温度,才70℃啊。上网搜索,结果发现有人说这个驱动玩儿crisis会黑屏,说的都是9800gt的用户,而我的是8800gt(9800gt是8800gt的马甲版本)。好吧,退而求其次,卸载掉186.18,安装上了185.85。结果还是黑屏。我怀疑是不是驱动卸载不完全啊。于是卸载掉了185.85。重启之后发现nvidia的控制面板还能进入,显示驱动版本是182.08。但是添加删除程序里面已经没有可以卸载的地方了。

上网搜索nvidia驱动的卸载工具,结果找到的都是04年的。当然不能用了。于是决定采用最笨的方法,下载对应的驱动,安装上再卸载,直到完全卸载干净为止。

在这里,我要感谢驱动之家跟google,帮助我找到了如图的所有驱动。

清理干净了之后,我重新安装上了186.18,结果还是黑屏。安装nvidia system tools监控温度,结果发现最高才75℃。最终,我卸载掉了186.18,重新安装上了182.08。一切正常了。

总结一下,我安装的顺序如下:

1 尝试安装阶段,安装186.18(求新)后卸载(游戏黑屏),安装185.85(求次新)后卸载(还是黑屏);
2 清除驱动阶段,因为我怀疑新驱动不好用是因为旧的没有卸载干净。安装并卸载了182.08,180.48,177.83;
3 尝试新驱动阶段,安装186.18(求新)后卸载(还是黑屏而且温度不高)。最后我还是决定继续用182.08算了。稳定最重要。

额外的收获:我发现卸载掉旧驱动,vista并没有回到没有驱动的阶段,而是变成了回归到上一版驱动。但是这里存在一个bug,就是上一版驱动变得无法卸载了,只能用安装了再卸载这种本办法。而vista这种保留驱动多个版本的方法,使用空间换取了便捷。如果是最求系统速度最快的用户,就应该规避这种方式,每次升级驱动的时候,采取先卸载,重启之后再安装的方式。这样虽然时间会长一些,但是却可以保证系统最大的整洁与快速。

最后,还有一个收获就是我卸载掉了那些多余的驱动之后,c盘增加了好几G的空间。囧

最近更换键盘和鼠标的小结

随笔

之前我键盘是樱桃的MX 6.0,是全尺寸键盘。鼠标是雷蛇的炼狱蝰蛇。我用Karabiner将键盘的F1-F12映射为Mac的键盘功能键。

最近我觉得鼠标距离右手有些太远了。于是买了海盗船的K65 RGB(选RGB而不是普通版的理由是RGB版有掌托,而普通版没有。另外,RGB版更好看一些)。这个键盘比全尺寸键盘少了数字键盘区,因此更为紧凑。

买之前我就知道海盗船的键盘没有官方的OS X的实用程序,需要使用非官方的ckb。安装了ckb之后,我发现Karabiner不能截获这个键盘的事件。也就是说,Karabiner的映射功能在这个键盘上无效。而Windows的键盘,多媒体按键的部分。只有音量加、音量减、静音以及播放/暂停键是好用的。上一首和下一首只在iTunes里才好用,而对于其它的程序(比如QQ音乐)无效。

于是我在雷蛇的实用程序里,把雷蛇的侧键改成了上一首和下一首,雷蛇的这个是全局的。但是这样原本我设置的多任务切换和程序内窗口切换功能就不能使用了。

今天,我去雷蛇的售后那里,修理我的鼠标的左键双击的问题。在等待修理的时间里,我去旁边的电脑城买了一个罗技的G502鼠标。

回到家里,我用罗技的实用程序将G502用于调节DPI的斜上方的两个键设置为上一首和下一首,结果我发现,罗技的这个上一首和下一首,只能控制iTunes,同样也是对于第三方的程序无效的。

事情似乎陷入僵局。我突发奇想,那是不是Karabiner对于鼠标的模拟键盘输入同样有效呢?我在罗技的实用程序,将G502鼠标的侧键设置为了F7和F9,这两个键在Karabiner中被转译为上一首和下一首。结果,竟然真的好用。于是我又把鼠标的G键,设置为F8,这样我连播放/暂停也都用了。完全就可以用鼠标来控制全局的音乐播放了。

小结

  • K65 RGB的要使用ckb控制背光,Karabiner对其无效
  • G502的罗技实用程序的多媒体功能,仅针对iTunes,对于全局程序无效
  • Karabiner虽然对于K65的按键无效。但是它对于G502模拟出来的按键有效。因此,通过G502模拟按键的方式,就可以控制多媒体功能了

Apple TV 4 我选择了Plex来进行视频的播放

评测

Apple TV 4 由于目前没有行货上市,使用中国的账号的话,会导致看不到大部分的内容,也不会显示程序商店。所以一般大家会选择注册一个香港的账号,或者美国的账号。本文不打算详细分析各个账号的区别。由于我很久之前就有美国的账号,所以我选择使用美国账号登录,并在设置中更改地区为美国。

目前Apple TV 4 的播放器,一般大家推荐的方法是使用Xcode签名并安装Kodi播放器。此外还有使用破解版的Infuse的。我选择的是Plex播放的方式,这个方式的优点和缺点都很明显,主要要看你的硬件是否性能足够。

优点

使用Plex的优点是操作简单,Plex的Apple TV程序是免费的,可以直接下载。而购买Plex的会员(一般来说,如果你不想远程播放的话,也就是你不在家的时候也能放家里的视频。你只需要购买普通会员就好了,好像是68元)至于要去它网站就可以,不需要使用苹果的美国账户。(因为我们购买的美国账户是不能付款的,一旦你付款了,并且被苹果发现,这个账户就会被冻结。因为你本身没有在美国)

购买了Plex的会员,你同时还可以安装其他的客户端,比如iOS或者安卓的,只需要登录账号就都可以使用了。不需要任何的编译教程,或者破解之类的。也不用担心以后要纠结升不升级到最新的系统。

缺点

Plex需要你的NAS支持Plex,因为这个程序采用的CS的架构,即客户端和服务器。你需要先有一个服务器,然后你的客户端(手机或者平板或者电视)才能够使用。

目前支持Plex的服务器,有各种NAS,以及电脑的操作系统,比如Windows、OS X、Linux、BSD。我的Plex服务器端运行在Mac mini上。如果你只有移动硬盘,是没法运行Plex的。

准备工作

  1. 安装Plex服务器端
  2. 购买Plex会员
  3. 添加影片到Plex中
    1. 这里有一点需要注意。如果你的视频是在电脑的内置磁盘或者电脑直接连接的移动硬盘上,那都没有问题。如果你的视频是在NAS上,那你需要选择设置系统每次重启之后都会自动加载对应的磁盘。
  4. 在Apple TV 4上安装Plex。打开之后,按照提示用手机或者电脑登录对应的网站,使用你的购买的会员登录,输入验证码。这样Apple TV 4上的Plex就配对成功了。

开始使用

现在你已经可以使用Plex了。我这里的视频都只需要使用源格式,未经转换就可以直接播放了。如果遇到不能直接播放的视频,你也可以使用Plex提供的自动转码来进行播放。

SMB、AFP文件共享小结

评测

基础

  • smb与afp同时可用时,优先使用smb协议。(苹果推荐)
  • 时光机服务依赖afp。

实际使用时发现

  • 西数的My Cloud使用smb连接时,速度远快于afp。
    • 千兆有线网直连时,smb读取速度88Mb/s,afp读取速度60Mb/s。
    • 802.11ac连接时,smb读取速度50Mb/s,afp读取速度30Mb/s。
    • 千兆有线连接的设备是Mac mini 2012,i7-3720QM,8G内存,内置1T硬盘。802.11ac连接是iMac 5K 2014, i7-4790K, 16G内存,256G SSD。路由网件R8000,无线测试时隔着一堵墙。西数 My Cloud 3T(西数官方推荐使用SMB服务,但是Mac默认会连接afp,需要在Finder里,按Option+K,手工输入smb地址)
  • 两台Mac连接时,smb的速度略低于afp。
    • 上面提到的两台设备连接时,Mac mini使用千兆有线,iMac 5K使用无线。iMac从Mac mini读取时,smb的读取速度为60Mb/s,afp的读取速度为67Mb/s。
  • iOS下能播放网络共享的视频播放器,只支持smb,不支持afp,且smb也不支持加密的协议。测试环境:iPad mini 2,nPlayer

结论

  • 优先使用smb协议。
  • 如果需要分享到iOS设备,smb不能启用加密协议。

X200安装INTEL X25-M 80G实测

今天拿到了hp 2140拆机的ssd。于是很开心的安装到了我的x200上,替换掉了原来的西数的160G。
顺丰快递到货时候的包装

ssd04

x25-m的信息。由于是hp的上网本拆机的,这个ssd上面有hp的标志,以及型号的末尾都是hp

ssd03

安装之后开机。呵呵,居然hp原配的linux还在呢。

ssd01

我用移动硬盘安装vista,如图,80G的实际大小是74.5G,下面的disk1是我的移动硬盘。

ssd02

10分钟vista sp1就安装完了(我安装的是vista business的版本),之后导入证书,激活vista。通过su安装驱动(移动硬盘里的),之后升级到最新的,给vista打补丁。全部都弄完了之后。用hdtune pro测试了一下。环境是x200 7458-cto p8600 3G内存vista business 32位sp1。硬盘是ahci,安装了intel的matrix驱动,并且开启了缓存。vista禁用了prefetch跟readyboost。x25-m的firmware版本是045c8610。

vista_old_firmware

开启了磁盘高级性能之后,差别不大,平均速度多了2M大概。
之后下载了最新的8820固件。刻盘安装了上去。(注意,我升级固件的时候将sata设置为了兼容模式,虽然intel网站说sata模式也可以刷,但是我没尝试)下图是兼容模式刷新8820的测试结果。

vista_new_firmware

下面是ahci模式的测试结果(8820)

vista_new_ahci

貌似兼容模式下的性能更好啊。晚上回家再用win7试试。

—-可爱的分割线—-

下面是win7 64位下的测试结果,ahci

win7_ssd_01

win7,sata的兼容模式

win7_ssd_02

总结:无论是在vista下还是win7下,兼容模式的时候性能都是最好的。

HPINTELSSDTHINKPADX200X25-M

HP INTEL SSD THINKPAD X200 X25-M