2016-05-10 62 views
4

我試圖下載Xcode(版本El Capitan),它似乎被卡住了。當我運行'top'時,我看到一個名爲'storedownloadd'的進程,而'STATE'列在睡眠,卡住和運行之間交替。 「FAULTS」的數量迅速增加,之後加號。 'FAULTS'專欄現在已超過40萬冊,並且正在增加。除了「頂」之外,我沒有看到下載活動的跡象。這是否表明有什麼不妥?這裏有一個截屏:什麼是'top'中的故障列?

Processes: 203 total, 2 running, 10 stuck, 191 sleeping, 795 threads                                                11:48:14 
Load Avg: 4.72, 3.24, 1.69 CPU usage: 56.54% user, 6.41% sys, 37.3% idle SharedLibs: 139M resident, 19M data, 20M linkedit. MemRegions: 18620 total, 880M resident, 92M private, 255M shared. PhysMem: 7812M used (922M wired), 376M unused. 
VM: 564G vsize, 528M framework vsize, 0(0) swapins, 512(0) swapouts. Networks: packets: 122536/172M in, 27316/2246K out. Disks: 78844/6532M read, 240500/6746M written. 

PID COMMAND   %CPU TIME  #TH #WQ #PORT MEM PURG CMPRS PGRP PPID STATE BOOSTS   %CPU_ME %CPU_OTHRS UID FAULTS COW MSGSENT MSGRECV SYSBSD SYSMACH 
354 storedownloadd 0.3 00:47.58 16 5 200 255M 0B  0B  354 1 sleeping *3[1]   155.53838 0.00000 501 412506+ 54329 359852+ 6620+ 2400843+ 1186426+ 
57 UserEventAgent 0.0 00:00.35 22 17 378 4524K+ 0B  0B  57 1 sleeping *0[1]   0.23093 0.00000 0 7359+ 235 15403+ 7655+ 24224+ 17770 
384 Terminal   3.3 00:12.02 10 4 213 34M+ 12K 0B  384 1 sleeping *0[42]   0.11292 0.04335 501 73189+ 482 31076+ 9091+ 1138809+ 72076+ 

回答

2

top報告回來,故障它指的是「頁面錯誤」,這更準確地說:

已經發生了任務主要頁面錯誤數。當進程嘗試讀取或寫入其地址空間中當前不存在的 虛擬頁時,會發生頁面 錯誤。 A 主要頁面錯誤是在涉及磁盤訪問時使頁面 可用。

如果應用程序嘗試訪問當前不在物理RAM中的內存頁上的地址,則會發生頁面錯誤。發生這種情況時,虛擬內存系統會調用特殊的頁面錯誤處理程序來立即響應錯誤。頁面錯誤處理程序停止執行代碼,查找空閒的物理內存頁面,加載包含磁盤所需數據的頁面,更新頁面表,最後將控制返回給程序 - 然後可以正常訪問內存地址。這個過程被稱爲分頁。

根據試圖執行的代碼和系統當前的內存可用性,次要頁面錯誤可能是常見的,但是,也有不同的級別需要注意(小,大,無效)更詳細的鏈接在下面。

Apple : About The Virtual Memory System

Wikipedia : Page Fault

Stackoverflow.com : page-fault