macOS:进程、服务与资源
检查状态与定位问题
iostat(macOS) · 报告设备统计信息
- 显示设备统计快照(每传输千字节数、每秒传输次数、每秒兆字节数)、CPU统计(用户模式、系统模式和空闲模式的时间百分比)以及系统负载平均值(过去1、5和15分钟):
bash
iostat- 仅显示设备统计信息:
bash
iostat -d- 每2秒显示一次CPU和磁盘的增量统计报告:
bash
iostat 2- 无限期每秒显示第一个磁盘的统计信息:
bash
iostat -w 1 disk0- 每3秒显示一次第二个磁盘的统计信息,共显示10次:
bash
iostat -w 3 -c 10 disk1- 使用旧式iostat显示格式。显示每秒传输的扇区数、每秒传输次数、每次传输的平均毫秒数,以及默认显示格式的CPU统计和负载平均值:
bash
iostat -o- 显示设备总统计信息(KB/t:每次传输的千字节数,xfrs:总传输次数,MB:总传输兆字节数):
bash
iostat -Ips(macOS) · 正在运行的进程的信息
- 列出所有正在运行的进程:
bash
ps aux- 列出所有正在运行的进程,包括完整的命令字符串:
bash
ps auxww- 查找与字符串匹配的进程:
bash
ps aux | grep {{字符串}}- 获取一个进程的父进程 ID:
bash
ps -o ppid= -p {{进程id}}- 按内存使用量对进程进行排序:
bash
ps -m- 按 CPU 使用量对进程进行排序:
bash
ps -rtop(macOS) · 显示运行进程的动态实时信息
- 执行 top 命令,界面中提供所有选项:
bash
top- 按内部内存大小排序进程(默认顺序 - 进程 ID):
bash
top -o mem- 首先按 CPU 启动顺序排序进程,然后按运行时间排序:
bash
top -o cpu -O time- 只显示给定用户拥有的进程:
bash
top -user {{用户名}}- 交互快捷键按本机
man top核对;原记录未确认问号帮助,因此不作为可用步骤。
专用工具与其他操作
appsleepd(macOS) · 启动应用休眠服务
不应手动调用此命令。 更多信息:https://keith.github.io/xcode-man-pages/appsleepd.8.html。
该项仅用于识别系统守护进程,由系统管理其生命周期;不提供手工启动步骤。
archey(macOS) · 漂亮地显示简单系统信息工具
- 显示系统信息(彩色的):
bash
archey- 显示系统信息(单色的):
bash
archey --nocolor- 显示系统信息,使用 MacPorts(命令行软件安装管理工具 port)来替代 Homebrew(另一种更常用的 mac 命令行软件安装管理工具):
bash
archey --macports- 显示系统信息,但不进行 IP 地址获取和验证:
bash
archey --offlineistats(macOS) · 一个显示 CPU 温度、风扇速度和电池状态等统计数据的命令行工具
- 显示所有的统计数据:
bash
istats- 显示所有 CPU 的统计数据:
bash
istats cpu- 显示所有风扇的统计数据:
bash
istats fan- 扫描和打印温度:
bash
istats scanlaunchctl(macOS) · 用于启动守护程序(系统范围的服务)和启动代理程序(每个用户程序)的命令行界面,该界面指向苹果的launchd 管理工具
用于启动守护程序(系统范围的服务)和启动代理程序(每个用户程序)的命令行界面,该界面指向苹果的
launchd管理工具。launchd加载放置在适当位置的基于 XML 的*.plist文件,并根据其定义的计划运行相应的命令。 更多信息:https://keith.github.io/xcode-man-pages/launchctl.1.html。
- 每当用户登录时,自动将 plist 文件加载到
launchd:
bash
launchctl load ~/Library/LaunchAgents/{{我的脚本}}.plist- 激活需要 root 权限才能运行和 / 或在任何用户登录时都应加载的脚本(注意路径中不能有
~):
bash
sudo launchctl load /Library/LaunchAgents/{{root 脚本}}.plist- 激活一个系统范围的守护程序,以便在系统启动时加载(即使没有用户登录也会加载):
bash
sudo launchctl load /Library/LaunchDaemons/{{系统脚本}}.plist- 显示所有加载的代理 / 守护进程,如果它们指定的进程当前正在运行,则显示 pid,如果停止那么返回了它们上次运行的时间和退出代码:
bash
launchctl list- 卸载当前加载的脚本,例如进行更改(注意:重新启动和 / 或登录后,plist 文件将自动加载到
launchd):
bash
launchctl unload ~/Library/LaunchAgents/{{我的脚本}}.plist- 手动运行一个已知的(已加载的)脚本 / 守护进程,即使它不是正确的时间(注意:此命令使用脚本的标签,而不是文件名):
bash
launchctl start {{我的脚本}}- 手动终止与已知脚本 / 守护进程关联的进程(如果该进程正在运行):
bash
launchctl stop {{我的脚本}}pmset(macOS) · 配置 macOS 电源管理设置,就像在系统首选项 > 节能程序中一样
修改设置的命令必须以
sudo开头。 更多信息:https://keith.github.io/xcode-man-pages/pmset.1.html。
- 显示当前电源管理设置:
bash
pmset -g- 显示当前电源和电池电量:
bash
pmset -g batt- 立即让显示器进入休眠状态:
bash
pmset displaysleepnow- 当充电器通电时,将显示器设置为从不休眠:
bash
sudo pmset -c displaysleep 0- 使用电池电源 15 分钟后将显示器设置为休眠:
bash
sudo pmset -b displaysleep 15- 安排计算机在每个工作日上午 9 点自动唤醒:
bash
sudo pmset repeat wake MTWRF 09:00:00- 设置下面一组固定值;它们不是自动恢复原机默认值,变更前应保存
pmset -g:
bash
sudo pmset -a displaysleep 10 disksleep 10 sleep 30 womp 1reboot(macOS) · 重启系统
- 立刻重启:
bash
sudo reboot- 立即重启,而无需正常关机:
bash
sudo reboot -qshutdown(macOS) · 关闭并重新启动系统
更多信息:https://keith.github.io/xcode-man-pages/shutdown.8.html。
- 立即关机:
bash
shutdown -h now- 立即休眠:
bash
shutdown -s now- 立即重启:
bash
shutdown -r now- 倒计时 5 分钟重启:
bash
shutdown -r "+{{5}}"- 在下午 1:00(使用 24 小时时钟)关机:
bash
shutdown -h {{1300}}- 在 2042 年 5 月 10 日上午 11:30 重新启动(输入格式:年年月月日日时时分分):
bash
shutdown -r {{4205101130}}示例整理自 tldr-pages,作者为 tldr-pages team and contributors,遵循 CC BY 4.0。
继续阅读
- 完整实践
- 知识专题
- 知识专题