Как диагностировать увеличивающийся OS X kernel_task и соединенное проводом использование памяти?

У меня есть очень странная проблема, которую мне нелегко диагностировать относительно первопричины.

У меня есть Mac Pro (2008, 2,8 ГГц с 8 ядрами, 8800GT) с 14 ГБ RAM (недавно обновленный из-за этой проблемы!).

Когда я загружу свою систему и вхожу в систему, vm_stat / вершина / Монитор Действия покажет, что kernel_task выделили приблизительно 150 МБ, и машина имеет приблизительно 800 МБ Проводной выделяемой памяти.

Даже первоначально, 800 МБ кажется очень большой проводной памятью, которая будет выделена без выполнения приложений - но, это ухудшается. (Проводной NB: заблокирован, невыгружаемая память),

После очень короткого времени, иногда инициированного чем-то столь же простым как запуск терминала, kernel_task увеличится к 8-900 МБ Настоящей Мадам (RSIZE), и Проводная Память ускорится к 1,6 ГБ (допущение, что все запросы дополнительной памяти для проводной RAM в ядре).

Если я вышел из всего (Т.Е.: никакие запущенные приложения, запретите монитор действия или терминал для просмотра вершины), нет никакого заметного сокращения или kernel_task RSIZE или Проводного Использования памяти. Хождение противоположным путем и загрузка системы с задачами также показывают, что проводная память не становится уменьшенной - и что значительно это не уменьшается в предпочтении к тяжелому свопингу.

Если я выхожу из системы и вхожу в снова, это уменьшает немного (450 МБ kernel_task, Проводные 1,28 ГБ), но не назад к запуску.

Я не выполняю дурацкого kexts - и кроме того, kextstat не показывает огромных выделений памяти там; крупнейшее существо com.apple.nvidia.nv50hal на уровне приблизительно 4 МБ Памяти.

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

Таким образом, у меня есть несколько вопросов:

1) Существует ли хороший способ диагностировать то, что выделило всю эту проводную память? Это часто - более чем 2 раза kernel_task размер, не запуская приложений. Общее количество реальной памяти, кажется, не складывает - кажется, что существует набор RAM, которая не составляется нигде.

2) Что, оказывается, заставляет ядро внезапно требовать в 6 раз больше памяти?

18
задан 27.04.2015, 16:38

1 ответ

Расширения ядра являются только одним из многих, многих, много фрагментов кода, которые могут быть выполнены операционной системой без Вашего ведома. У меня есть маленькая основанная на Python утилита, названная Консультантом, канарским, который поможет Вам найти довольно многих из них:

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

3
ответ дан 07.12.2019, 10:30

Теги

Похожие вопросы