指南/透過SSH使用Vitals

透過SSH使用Vitals:從任何電腦查看另一台Mac的CPU、記憶體和App

Atta 🐬

Vitals創辦人

發佈於

簡短回答

在你要查看的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

  1. 01 在你要查看的Mac上打開「系統設定」,按一下「一般」,再按一下「共享」,然後開啟「遠端登入」。它下方的一行會列出連線用的指令,例如ssh [email protected]。
  2. 02 在你自己的電腦上打開「終端機」(Windows上則是PowerShell),執行這個指令。出現提示時,輸入那台Mac的登入密碼。
  3. 03 執行top -o cpu查看CPU用量最多的程序,按Q離開。top -o mem則依記憶體排序。
  4. 04 執行memory_pressure查看還有多少可用記憶體,執行pmset -g batt查看電池。df -h /會顯示磁碟用了多少。
  5. 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。

  1. 確認它有回應:ssh dads-mac "~/Library/Application\ Support/Vitals/vitals version"。
  2. 即時查看:ssh -t dads-mac "~/Library/Application\ Support/Vitals/vitals top cpu --watch"。按Control-C停止。
  3. 少打幾個字:在你自己的電腦上,把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的功能,預設關閉,要你自己開啟。
  • 視窗和選單列無法遠端顯示。這要用「螢幕共享」。
購買Vitals $15 在首發期間以$15終身使用,之後為$39,一次付清,14天內可退款。或一年更新$9。

大家常問的問題

可以從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助理。

詞彙表中的相關條目

更多指南