这两天优化缩减 El Capitan 下的 SSD 写入次数,和大家分享一下

2015-10-23 13:23:56 +08:00
 Radeon
1) 禁用 /var/vm/sleepimage

网上的攻略一般是说要 sudo pmset -a hibernatemode 0 ,然后 sudo rm /var/vm/sleepimage

其实除了要设置这个,在 El Capitan 里还要
sudo pmset -a standby 0
sudo pmset -a autopoweroff 0

这个在 pmset 的 man 里面写得很清楚

2) 禁用 dynamic_pager (虚拟内存)

如果机器内存上限够大的话,不妨配足然后禁用虚拟内存。 El Capitan 之前的 OS X 的做法是

sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist

在 El Capitan 下,需要先禁用 SIP (System Integration Protect)
先按住 CMD+R 重启电脑,进 Recovery Mode ,然后选择 Utilities -> Terminal 工具
csrutil disable
关闭 SIP
重启进系统
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist
再重启进 Recovery Mode
csrutil enable

3) 给 SSD 分区加上 noatime (no access time) 选项,不记录每个文件的最近访问时间
原理是 sudo mount -vuwo noatime /
成功以后执行 mount ,应该显示
/dev/disk1 on / (hfs, local, journaled, noatime) 注意最后的 noatime mount 标志

可以写一个 plist 自动执行

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>noatime</string>
<key>ProgramArguments</key>
<array>
<string>mount</string>
<string>-vuwo</string>
<string>noatime</string>
<string>/</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>

存为 /Library/LaunchDaemons/noatime.plist
8228 次点击
所在节点    macOS
49 条回复
randyzhao
2015-10-23 14:33:51 +08:00
@Radeon 就是只有睡眠, 没有休眠了,是吧?

所以这样会减少 SSD 的损耗, 我理解了.

那么经常合盖走人的话, 会加大电池的损耗吧?
SourceMan
2015-10-23 14:37:45 +08:00
应该有后遗症,然后得不偿失?
wy315700
2015-10-23 14:47:07 +08:00
@GuangXiN 三星的 SSD 里 smart 有一个字段, TOTAL_LBA_WRITE , 是写入的扇区数
Tink
2015-10-23 14:47:28 +08:00
写入量在哪里可以查看?
rannnn
2015-10-23 14:49:30 +08:00
买了 Apple Care 还没用到,求坏
cheny95
2015-10-23 16:01:13 +08:00
@Tink
@GuangXiN
软件:
SMART Utility
jeansfish
2015-10-23 18:05:59 +08:00
求坏,使劲用
tyhunter
2015-10-23 18:52:09 +08:00
我有 timemachine 和 Apple care ,巴不得快点坏
Radeon
2015-10-23 19:25:44 +08:00
@rannnn
@jeansfish
@tyhunter 问题是使劲用却不能在 Apple Care 保修期截止前用坏怎么办?
70599
2015-10-23 21:13:30 +08:00
请问楼主怎样验证虚拟内存已关闭?
Radeon
2015-10-23 21:21:10 +08:00
@70599 sysctl vm.swapusage
70599
2015-10-23 21:32:15 +08:00
@Radeon 做完楼主第二步之后用上述命令输出的结果:
vm.swapusage: total = 0.00M used = 0.00M free = 0.00M (encrypted)

看来是禁用了, 16GB 内存黑苹果,目前没什么问题。
crystone
2015-10-23 21:33:53 +08:00
@Radeon btbtbbttbbbttt
jedihy
2015-10-23 22:13:56 +08:00
真心 SSD 用不坏的
crisfun
2015-10-23 22:42:51 +08:00
对于不同的人有不同的选择,像我还没用多久写入量就几个 T,我实在把自己震惊了
pagict
2015-10-24 01:16:32 +08:00
中国有句古话,叫闷声发大财
可是看到你们这么热情的争来争去
我不说两句又不好

那么我就要问了 你们是怎么测 mac 上 SSD 写入量什么的 :笑 cry 脸:
sean419
2015-10-24 01:47:45 +08:00
买了 Apple Care ,独孤求坏!
cdy
2015-10-24 06:28:04 +08:00
我猜苹果是没有这么傻着叫我们自己打命令优化的
0x61
2015-10-24 08:56:50 +08:00
我有一块 60G 的, 2010 年买的,现在还在用,而且性能还很好
ycyppq123
2015-10-24 09:23:51 +08:00
没必要

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/230457

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX