“顶部”中的故障列是什么?

TPM*_*TPM 6 bash terminal page-fault

我正在尝试下载 Xcode(到 El Capitan 版本),但它似乎卡住了。当我运行“top”时,我看到一个名为“storedownloadd”的进程,“STATE”列在睡眠、卡住和运行之间交替。'FAULTS' 有一个快速增加的数字,后面有一个加号。'FAULTS' 列现在超过 400,000 并且还在增加。除了“顶部”,我看不到下载活动的迹象。这是否表明有什么不对劲?这是一个屏幕截图:

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+ 
Run Code Online (Sandbox Code Playgroud)

l'L*_*L'l 7

top报告 FAULTS 时,它指的是“页面错误”,更具体地说:

任务发生的主要页面错误数。当进程试图读取或写入当前不在其地址空间中的虚拟页面时,就会发生页面错误。主要页面错误是指在使该页面可用时涉及磁盘访问。

如果应用程序尝试访问当前不在物理 RAM 中的内存页面上的地址,则会发生页面错误。当这种情况发生时,虚拟内存系统调用一个特殊的页面错误处理程序来立即响应错误。页面错误处理程序停止执行代码,定位物理内存的空闲页面,从磁盘加载包含所需数据的页面,更新页表,最后将控制权返回给程序——然后程序可以正常访问内存地址. 此过程称为分页。

次要页面错误可能很常见,具体取决于尝试执行的代码和系统上当前的内存可用性,但是,也有需要注意的不同级别(次要、主要、无效),详细描述请参见下面的链接。

? Apple : 关于虚拟内存系统

? 维基百科:页面错误

? Stackoverflow.com:页面错误