如何從命令列診斷運行緩慢的 Mac? (OS X 艾爾船長)

如何從命令列診斷運行緩慢的 Mac? (OS X 艾爾船長)

我有一個很古老(我認為大約是 2009 年)Mac Mini,現在它實際上只是充當我們的 TimeMachine 備份的 NAS。它一直工作正常,直到大約兩天前,突然這些備份停止工作。我也無法透過共享螢幕附加到它。當我嘗試時ssh,我意識到它正在運行非常緩慢地。需要 3-5 分鐘才能ssh進入。甚至我花了將近 6 分鐘才知道我正在運行 El Capitin:

Krotos:~ cwr$ time uname -a
Darwin Krotos.local 15.6.0 Darwin Kernel Version 15.6.0: Thu Jun 21 20:07:40 PDT 2018; root:xnu-3248.73.11~1/RELEASE_X86_64 x86_64

real    5m58.602s
user    0m0.007s
sys 0m0.007s

在輸出開始之前運行top很容易需要 1-2 分鐘(但隨後輸出似乎以正常速度更新)。

我猜想它正在做某事,但是……我不知道是什麼。top,當它啟動並運行時,看起來像這樣:

Processes: 90 total, 2 running, 17 stuck, 71 sleeping, 365 threads     09:49:05
Load Avg: 1.07, 1.10, 1.07  CPU usage: 0.97% user, 0.48% sys, 98.54% idle
SharedLibs: 100M resident, 6980K data, 45M linkedit.
MemRegions: 30832 total, 775M resident, 53M private, 153M shared.
PhysMem: 2098M used (1007M wired), 6350M unused.
VM: 286G vsize, 535M framework vsize, 0(0) swapins, 0(0) swapouts.
Networks: packets: 8361/986K in, 1770/314K out.
Disks: 11164/837M read, 2740/43M written.

PID  COMMAND      %CPU TIME     #TH   #WQ  #POR MEM    PURG   CMPR PGRP PPID
281  AppleFileSer 0.0  00:00.20 8     0    78   13M    8192B  0B   281  1
280  top          1.2  00:02.98 1/1   0    22   3044K  0B     0B   280  222
278- fpsaud       0.0  00:00.13 1     0    2    80K    0B     0B   278  1
270  ocspd        0.0  00:00.22 2     0    30   7376K  0B     0B   270  1
269  makewhatis   0.0  00:00.03 1     0    12   584K   0B     0B   245  267
267  sh           0.0  00:00.01 1     0    17   652K   0B     0B   245  2
...

在我看來,世界一切都好。

無論發生什麼,它似乎都在網路層之上,因為,例如,我ping在嘗試時連續運行which grep。我在 100 個資料包後停止了,但它既快又沒有丟失任何資料包:

64 bytes from 192.168.1.10: icmp_seq=101 ttl=64 time=1.315 ms
^C
--- krotos.local ping statistics ---
102 packets transmitted, 102 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 1.096/1.927/3.488/0.472 ms

which另一方面,該命令...

Krotos:~ cwr$ time which grep
/usr/bin/grep

real    1m10.675s
user    0m0.007s
sys 0m0.005s

磁碟空間似乎也不錯,儘管需要很長時間才能弄清楚:

Krotos:~ cwr$ time df
Filesystem    512-blocks      Used Available Capacity  iused    ifree %iused  Mounted on
/dev/disk0s2   232762432 119458488 112791944    52% 14996309 14098993   52%   /
devfs                383       383         0   100%      664        0  100%   /dev
map -hosts             0         0         0   100%        0        0  100%   /net
map auto_home          0         0         0   100%        0        0  100%   /home

real    3m4.875s
user    0m0.007s
sys 0m0.007s

我想我可以向某人借一台顯示器並將其插入,但是,我真的希望能夠從命令列診斷此問題。我嘗試過重啟,問題依然存在。也許它只是在做那些神秘的 MacOS 事情之一,比如重新索引聚光燈數據庫之類的,幾天后當它完成它正在做的事情時就會好起來,但是......我想知道什麼(以及這是否屬實,我應該​​等幾天,還是有一些更大的問題不會消失)。

當 CPU 似乎幾乎完全空閒並且有足夠的記憶體和磁碟空間時,我還能看什麼來弄清楚為什麼簡單的命令需要花費幾分鐘的時間?

相關內容