Что такое столбец Faults в 'top'?

Я пытаюсь загрузить Xcode (на версию El Capitan), и он, кажется, застрял. Когда я запускаю "top", я вижу процесс с именем "storeownloadd", и столбец "STATE" чередуется между режимами ожидания, зависания и работы. "НЕДОСТАТКИ" имеют быстро увеличивающееся число со знаком плюс. Колонка "НЕДОСТАТКИ" теперь превышает 400 000 и увеличивается. кроме "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+ 

1 ответ

Решение

Когда top сообщает ОТКАЗЫ, это относится к "сбоям страницы", а именно:

Количество основных сбоев страниц, которые произошли для задачи. Ошибка страницы возникает, когда процесс пытается прочитать или записать виртуальную страницу, которой в данный момент нет в его адресном пространстве. Основная ошибка страницы - когда доступ к диску связан с тем, чтобы сделать эту страницу доступной.

Если приложение пытается получить доступ к адресу на странице памяти, который в данный момент не находится в физической памяти, происходит сбой страницы. Когда это происходит, система виртуальной памяти вызывает специальный обработчик ошибок страницы, чтобы немедленно отреагировать на ошибку. Обработчик сбоев страниц останавливает выполнение кода, находит свободную страницу физической памяти, загружает страницу, содержащую данные, необходимые с диска, обновляет таблицу страниц и, наконец, возвращает управление программе - которая затем может нормально обращаться к адресу памяти, Этот процесс известен как пейджинг.

Незначительные сбои страниц могут быть распространены в зависимости от кода, который пытается выполнить, и текущей доступности памяти в системе, однако, существуют также разные уровни (второстепенный, главный, недействительный), которые более подробно описаны в ссылки ниже.

Apple: о системе виртуальной памяти

Википедия: ошибка страницы

Ck Stackru.com: ошибка страницы

Другие вопросы по тегам