MacOS安装homeBrew及监控实时功耗
摘要:介绍了如何在ARM芯片上安装homebrew。最初写于2022年,基于MacMini。2024年更新为基于Macbook air,并且用homebrew安装asitop来监控MacBook的实时功耗,安装smartmontools来查看查看磁盘的写入与读取。
20241205更新:
homebrew的好处是一个命令就能下载软件,而且会自动配好环境变量。下载时实际上不需要修改host,只要clashx开启增强模式,直接运行install就没问题。还需要注意的是安装完需要按照提示添加环境变量。在命令行依次输入
echo » /Users/rao/.zprofile
echo ’eval “$(/opt/homebrew/bin/brew shellenv)”’ » /Users/rao/.zprofile
eval “$(/opt/homebrew/bin/brew shellenv)”
安装完后硬盘剩余空间对比
最主要的是xcode的command line,占用了2.37G。
利用smartmontools查看硬盘写入量
brew install smartmontools
smartctl -a disk0 | awk ‘/SMART/Health Information/,/^$/’
20241205日结果如下:
SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00
Temperature: 35 Celsius
Available Spare: 100%
Available Spare Threshold: 99%
Percentage Used: 0%
Data Units Read: 6,991,706 [3.57 TB]
Data Units Written: 3,203,066 [1.63 TB]
Host Read Commands: 162,196,009
Host Write Commands: 65,625,988
Controller Busy Time: 0
Power Cycles: 91
Power On Hours: 131
Unsafe Shutdowns: 6
Media and Data Integrity Errors: 0
Error Information Log Entries: 0
分析输出结果
运行上面的命令后,会得到以下输出,其中的**Percentage Used(磁盘使用百分比)和Data Units Written(磁盘写入量)**就是我们要关注的值:来源:https://www.jindouyun.cn/document/industry/details/181427
SMART/Health Information (NVMe Log 0x02)
Critical Warning: 0x00 #此处值为 0x00,表示没有严重警告。
Temperature: 33 Celsius #温度。当前温度为 33 摄氏度
Available Spare: 100% #可用备用空间。当前可用备用空间为 100%。
Available Spare Threshold: 99% #可用备用空间阈值。当前可用备用空间阈值为 99%。当可用备用空间低于此阈值时,可能会出现警告。
Percentage Used: 2% #使用百分比。当前使用了 2% 的存储器容量
Data Units Read: 91,207,805 [46.6 TB] #读取的数据单元数量。当前已读取 91,207,805 个数据单元,相当于 46.6 TB 的数据量。
Data Units Written: 95,333,096 [48.8 TB] #写入的数据单元数量。当前已写入 95,333,096 个数据单元,相当于 48.8 TB 的数据量。
Host Read Commands: 2,236,552,092 #主机读命令数量。当前已执行 2,236,552,092 条主机读命令。
Host Write Commands: 1,626,904,490 #主机写命令数量。当前已执行 1,626,904,490 条主机写命令。
Controller Busy Time: 0 #控制器忙碌时间
Power Cycles: 349 #电源循环次数。当前已进行了 349 次电源循环。
Power On Hours: 1,237 #上电时间。当前已经上电运行了 1,237 小时。
Unsafe Shutdowns: 10 #不安全的关闭次数。当前发生了 10 次不安全的关闭。
Media and Data Integrity Errors: 0 #媒体和数据完整性错误。当前没有发生媒体和数据完整性错误。
Error Information Log Entries: 0 #媒体和数据完整性错误。当前没有发生媒体和数据完整性错误。
如果你要查看别的磁盘,请运行下面的命令查找磁盘标志符(输出结果最后一列IDENTIFIER)
diskutil list
禁用homebrew的自动更新
# 关闭自动更新,在.zshrc文件中加入下方命令,如果是bash请加在.bash_profile文件中,全局变量可以sudo vi /etc/profile
vim ~/.zshrc
export HOMEBREW_NO_AUTO_UPDATE=true
# 刷新环境变量
source ~/.zshrc
安装asitop监控系统功耗
通过homebrew
brew install asitop
sudo asitop
按q退出
通过python
pip3 install asitop
export PATH=$PATH:/Users/用户名/Library/Python/3.9/bin
sudo asitop
2022年(无需科学上网版安装homebrew)
为了以后下载软件的方便,先按照http://mirrors.ustc.edu.cn/help/brew.git.html的方式修改源:
在终端输入
export HOMEBREW_BREW_GIT_REMOTE="https://mirrors.ustc.edu.cn/brew.git"
export HOMEBREW_CORE_GIT_REMOTE="https://mirrors.ustc.edu.cn/homebrew-core.git"
export HOMEBREW_BOTTLE_DOMAIN="https://mirrors.ustc.edu.cn/homebrew-bottles"
再输入
/bin/bash -c "$(curl -fsSL https://github.com/Homebrew/install/raw/HEAD/install.sh)"
此时大概率会出现如下错误
要解决需要修改host文件,到 ipaddress.com/ 查询 http://raw.githubusercontent.com 的真实IP,再按以下格式修改hosts:
再次执行命令即可。