指南/透過SSH使用Vitals
透過SSH使用Vitals:從任何電腦查看另一台Mac的CPU、記憶體和App
簡短回答
在你要查看的Mac上開啟「遠端登入」,然後在任何電腦上用ssh [email protected]連線。macOS內建的top -o cpu會顯示它的程序,memory_pressure會顯示它的記憶體壓力。如果那台Mac執行著Vitals,它的命令列會透過同一個連線回答:~/Library/Application\ Support/Vitals/vitals top cpu --watch列出CPU用量最多的App,並計入它們的輔助程式,每兩秒重新整理一次。Vitals是一款Mac活動監視器和程序檢查器,還能透過它的MCP伺服器為你PC上的AI助理回答同樣的問題。
如何透過SSH查看Mac
- 01 在你要查看的Mac上打開「系統設定」,按一下「一般」,再按一下「共享」,然後開啟「遠端登入」。它下方的一行會列出連線用的指令,例如
ssh [email protected]。 - 02 在你自己的電腦上打開「終端機」(Windows上則是PowerShell),執行這個指令。出現提示時,輸入那台Mac的登入密碼。
- 03 執行
top -o cpu查看CPU用量最多的程序,按Q離開。top -o mem則依記憶體排序。 - 04 執行
memory_pressure查看還有多少可用記憶體,執行pmset -g batt查看電池。df -h /會顯示磁碟用了多少。 - 05 如果那台Mac執行著Vitals,執行
~/Library/Application\ Support/Vitals/vitals status用幾行看完整台Mac,執行~/Library/Application\ Support/Vitals/vitals top cpu --watch查看CPU用量最多的App,每兩秒重新整理一次。
完整路徑很重要:由SSH啟動的shell不會讀取Homebrew加入PATH的檔案夾,所以只輸入vitals會找不到指令。在你自己的電腦上把這個路徑放進shell別名,就不用每次都輸入。
有些Mac你要照顧,卻不會坐在它面前:父母的Mac、工作室裡的電腦、隔壁房間裡執行本機模型的Mac mini。對這樣的Mac,你只能遠端提問。SSH是每台Mac都已具備的入口:從任何其他電腦(包括Windows和Linux)開啟那台Mac上的終端機。透過它能看到什麼,取決於那台Mac上執行著什麼。下表列出每個問題需要用什麼。
透過SSH能看到什麼
| 問題 | 僅用macOS | 那台Mac裝有Vitals時 |
|---|---|---|
| 是什麼在使用CPU? | top -o cpu,每行一個程序 | vitals top cpu,每行一個App,含輔助程式 |
| 記憶體快用完了嗎? | memory_pressure和vm_stat | vitals status memory |
| 它有多熱?風扇在轉嗎? | 只能看出是否在降速降溫:pmset -g therm | vitals status heat |
| 這是什麼程序? | ps -p和codesign -dv | vitals process:簽署者、版本、啟動、子程序 |
| 它昨晚在做什麼? | 不保留任何記錄 | vitals history day |
| 連接埠11434上是什麼? | lsof -i :11434 | vitals find :11434 |
開啟「遠端登入」
「遠端登入」就是macOS的SSH伺服器。它預設關閉,要在「系統設定」→「一般」→「共享」中開啟。旁邊的資訊按鈕可以選擇允許哪些使用者登入:只允許你需要的那個帳號比較安全。Mac必須處於喚醒狀態才能回應:「系統設定」→「能源」(筆電上是「電池」→「選項」)中的「進行網路連線時喚醒電腦」能讓它在有人連線時喚醒。
在同一個網路中,用Mac的名稱加上.local就能連到它。在家以外的地方,你需要一個入口,最安全的是在你的裝置之間建立私人網路,例如Tailscale,而不是在路由器上開放連接埠。在你自己電腦的~/.ssh/config中加一行,就能給那台Mac取個短名稱,只要輸入ssh dads-mac即可。
macOS內建的指令能顯示什麼
top是終端機裡最接近活動監視器的工具:程序依CPU排序,每個旁邊列出記憶體。它把每個輔助程式分開計算,所以一個瀏覽器就有三十行,執行本機模型的App可能只是一個你認不出名稱的程序。memory_pressure給出的那一個數字,能說明Mac是否記憶體不足;請參閱記憶體壓力。
溫度和圖形晶片就難多了。在Apple晶片上,沒有指令能以度數顯示溫度:pmset -g therm只說明Mac是否在降速降溫,sudo powermetrics要用管理者密碼讀取圖形晶片,每秒輸出成頁的數字。macOS不會保留任何歷史記錄,所以凌晨三點的變慢,等你去看時已經無跡可尋。
透過SSH執行Vitals的指令
Vitals的命令列查詢的是同一台Mac上執行的Vitals App,所以透過SSH,它回答的是那台Mac的狀況。需要符合兩個條件:Vitals在你登入的帳號中執行,只要那個人已登入就是如此;並且在它的「設定」→「整合」中開啟了「允許AI助理詢問Vitals」,這會啟用該指令。
之後,每個指令都和在那台Mac前使用時一樣:status查看整台Mac,app Ollama查看一個App,process完整查看一個程序,history day查看過去一天。在任何一個指令後加上--json,你自己電腦上的指令碼就能讀到JSON。
- 確認它有回應:
ssh dads-mac "~/Library/Application\ Support/Vitals/vitals version"。 - 即時查看:
ssh -t dads-mac "~/Library/Application\ Support/Vitals/vitals top cpu --watch"。按Control-C停止。 - 少打幾個字:在你自己的電腦上,把
alias dadsmac='ssh -t dads-mac "~/Library/Application\ Support/Vitals/vitals"'加入shell的設定檔,然後執行dadsmac status。
另一台電腦上的AI助理
Vitals有一個MCP伺服器,這是Claude等AI助理向App提問的方式。伺服器就是同一個指令,所以你PC上的助理可以直接詢問另一台Mac:在助理的MCP設定中,將指令設為ssh,引數設為["dads-mac", "~/Library/Application\\ Support/Vitals/vitals", "mcp"],其中的反斜線保留了檔案夾名稱中的空格。之後它就能根據那台Mac自己的讀數,回答「那台Mac上是什麼在用圖形晶片」或「它昨晚熱不熱」。
為此,SSH登入必須不需輸入密碼,因為助理無法輸入:用ssh-copy-id dads-mac設定一次金鑰即可。
透過SSH做不到的事
Vitals的視窗和選單列會留在它們執行的那台Mac上;SSH傳輸的是文字,不是視窗。若要遠端查看它們,請使用「螢幕共享」,它也在「系統設定」→「一般」→「共享」中。透過SSH結束App時,會先在終端機中詢問,和在那台Mac前一樣;而停在登入畫面、沒有人登入的Mac,沒有執行中的Vitals可以詢問。
Vitals多了什麼
Vitals會回答它所執行的那台Mac的狀況,任何能透過SSH連到它的電腦都能問。
- App已計入輔助程式,可依CPU、記憶體、功率、磁碟或網路查看
- 記憶體壓力、溫度、風扇和圖形晶片,不需管理者密碼
- 完整查看任何程序:程式碼簽署、父程序、指令列、CPU時間和記憶體峰值
- 最長一年的歷史記錄,昨晚的變慢到早上還查得到
- 供指令碼使用的JSON,以及另一台電腦上的AI助理可以使用的MCP伺服器
小提醒
- Vitals不會開啟SSH,也不會開放自己的連接埠。「遠端登入」是macOS的功能,預設關閉,要你自己開啟。
- 視窗和選單列無法遠端顯示。這要用「螢幕共享」。
大家常問的問題
可以從Windows遠端監控Mac嗎?
可以。Windows 10和11內建SSH:在PowerShell中執行ssh,加上那台Mac的使用者名稱和位址。請先在Mac上開啟「遠端登入」。
如何在Mac上開啟SSH?
「系統設定」→「一般」→「共享」→「遠端登入」。它下方的一行會顯示用來連線的指令。
可以透過SSH查看活動監視器嗎?
看不到視窗。在終端機中,top -o cpu會顯示同樣的程序,memory_pressure會顯示記憶體壓力。若要看到視窗本身,請使用「螢幕共享」。
為什麼透過SSH會出現「vitals: command not found」?
由SSH啟動的shell不會讀取Homebrew加入PATH的檔案夾。請使用完整路徑~/Library/Application\ Support/Vitals/vitals,或把/opt/homebrew/bin加入那台Mac的~/.zshenv。
另一台Mac上必須執行Vitals嗎?
是的,要在你登入的帳號中執行,並在它的「設定」→「整合」中開啟「允許AI助理詢問Vitals」。指令只是詢問正在執行的App,本身不測量任何東西。
可以透過SSH查看Mac的溫度嗎?
在Apple晶片上,macOS沒有能顯示溫度的指令;pmset -g therm只說明Mac是否在降速降溫。那台Mac執行著Vitals時,vitals status heat會顯示CPU和GPU的溫度以及風扇。
有沒有能遠端監控另一台Mac的App?
Vitals會透過SSH回答它所執行的那台Mac的狀況:App、程序、溫度和一年的歷史記錄,以文字或JSON形式提供,還能透過它的MCP伺服器回答另一台電腦上的AI助理。
詞彙表中的相關條目
更多指南
- Mac為什麼這麼慢
- 是什麼在消耗Mac的電池
- 哪個App在使用我的CPU或記憶體
- Mac為什麼無法睡眠
- Chrome占用太多記憶體
- 為什麼Mac的風扇這麼吵
- 如何控制Mac的風扇轉速
- 如何釋放Mac的RAM
- Docker使用太多記憶體
- 如何停止Docker容器
- Mac音量混音器
- Cursor使用大量CPU
- Claude Code使用太多記憶體
- Claude Code和Codex的用量上限
- Claude App佔用大量CPU
- Codex佔用大量CPU
- Ollama佔用過多記憶體
- 活動監視器替代方案
- iStat Menus替代方案
- Stats替代方案
- Mac版工作管理員
- 最佳Mac系統監控工具
- 最佳Mac選單列監控工具
- 最佳Mac音量混音器
- Mac上的htop
- Mac版Process Explorer
- 最好的Mac溫度監控工具