Включена ли встроенная VRAM в RAM ядра (kernel_task) в Activity Monitor?

11

Я был ошеломлен, обнаружив, что ядро ​​Mac OS X может потреблять 750 МБ оперативной памяти. Несколько связанных вопросов:

немного прояснил проблему, но остается один вопрос: утверждение о том, что видеопамять для встроенной встроенной графики помечена как используемая ядром .

Это правда? Включен ли VRAM в число, показанное монитором активности для kernel_task?

ДСН
источник
Как примечание, на моем снимке экрана, показывающем 750 МБ оперативной памяти для ядра, был MacBook Pro, Retina, 13 дюймов, начало 2013 года, с графическим процессором Intel HD 4000 1024 МБ в качестве единственного графического процессора и процессором Intel Core i5 2,6 ГГц. , Я постараюсь бежать sysdiagnoseи посмотреть, смогу ли я разобрать ваш основной вопрос.
bmike
@bmike: Итак, поскольку у вас 1 ГБ видеопамяти и kernel_taskиспользуется «только» 750 МБ, мы только что установили, что все 750 МБ поступают из обычной оперативной памяти, а не из VRAM. Правильно?
SDS
У меня ядро ​​занято 1,8ГБ, это плохо?
Render

Ответы:

3

Какую версию Mac OS X вы используете?

В kernel_taskMac OS X 10.9 Mavericks требуется 1,07 ГБ оперативной памяти на моем MacBook Pro 2012 (не Retina) с интегрированной графикой Intel HD4000 и 16 ГБ системной оперативной памяти. Да, это абсолютно необходимо. Если у вас больше физической памяти, то Mac OS X будет использовать много для kernel_taskтого, чтобы система работала оптимально.

С каждой новой версией Mac OS X на протяжении многих лет kernel_taskтребовалось все больше и больше памяти для запуска Mac OS X.

По моему опыту, если вы работаете с Mac OS X 10.8 Mountain Lion, ваш Mac должен иметь более 4 ГБ системной памяти для оптимальной работы (без необходимости в операционной системе постоянно использовать файл подкачки на жестком диске, что снижает производительность). Теперь кажется, что вашему Mac требуется более 6 ГБ ОЗУ для эффективной работы Mac OS X 10.9 Mavericks.

Объем оперативной памяти, необходимый для Microsoft Windows 8.0 и 8.1, сопоставим. Это просто то, что требуется для новейших операционных систем персональных компьютеров в 2013 году.

Обратите внимание, что многие системные функции запускаются kernel_task, и список того, что работает на вашем Mac, изменяется в зависимости от того, для чего вы используете ваш Mac.

Я нашел хорошее объяснение для вас в " Kernel_task, занимающем RAM в OS X " из CNet в 2011 году. Цитата:

... вы увидите еще один процесс под названием «kernel_task», который также будет регулярно использовать несколько сотен мегабайт реальной оперативной памяти и, по-видимому, будет увеличивать объем оперативной памяти с использованием системы.

Ядро в OS X - это программная архитектура, которая отвечает за обработку ресурсов, необходимых процессам и программам. К ним относятся управление многозадачным планированием, виртуальной памятью, вводом и выводом системы и различными процедурами связи между процессами. Кроме того, ядро ​​может быть модифицировано и расширено за счет загрузки расширений ядра (kexts) для обеспечения управления на уровне системы такими функциями, как Bluetooth и Wi-Fi, графическими процессорами, оборудованием сторонних производителей, доступом к периферийным устройствам и специальной файловой системой. служба поддержки. По сути, ядро ​​отвечает за работу вашего оборудования и делает аппаратные ресурсы доступными для приложений и системных служб.

... процесс "kernel_task" может занимать большой объем системной памяти. Когда система запускается, даже если у вас загружены расширения ядра, не все службы активны. Система может быть готова использовать их, но не будет загружать их полностью, пока не потребуется. Поэтому, если вы изначально запустите свою систему и проверите Activity Monitor, вы можете увидеть процесс kernel_task, занимающий относительно небольшой объем оперативной памяти. Когда вы начнете использовать свою систему и активировать такие функции, как камера iSight, службы Wi-Fi, переключение графических процессоров и использование внешних устройств, то kernel_task будет использовать ресурсы для этих устройств и будет увеличиваться в размере.


источник
2
как это отвечает на фактический вопрос, который я задал о VRAM?
SDS
Я полагаю, что первоначальная формулировка вашего вопроса, как я ее прочитал, была "Что входит в kernel_task?" и это то, что я пытался ответить. С тех пор вы перефразировали название вопроса.
2
Мне жаль, что мой вопрос сбил с толку. Я знаю, что такое ядро ​​и что делает, мой вопрос касался отчетов об использовании памяти.
sds
2

Я думаю, это включено. У меня MBP 13 "2015 с Iris, и kernel_task, который также занимает много памяти, я исследовал ситуацию и обнаружил изумительную zprintкоманду. Она печатает использование зон памяти ядра, я вижу 2 записи, берущие большую часть память для меня:

  • com.apple.iokit.IOAcceleratorFamily2 - 758044K
  • vm.pages.array - 221204K

К сожалению, мне не удалось найти достоверную информацию о IOAcceleratorFamily2 (и не удалось найти какую-либо информацию о vm.pages.array), но название предполагает, что он должен что-то делать с вводом-выводом и ускорением. Судя по этой информации, это часть памяти, которая отвечает за ускорение видео и предназначена для обработки изображений Iris.

Я провел небольшой тест, запустив запись экрана и два 4K-видео на YouTube параллельно: com.apple.iokit.IOAcceleratorFamily2 поднялся до 1.1G за считанные секунды, и после того, как я остановил запись и видео, он упал до 630M , Таким образом, я думаю, вполне вероятно, что он отвечает за VRAM.

Артем Шитов
источник
То есть нет способа уменьшить этот почти гигабайт оперативной памяти? Разве у видео чипсета не должно быть выделенной памяти? Взятие минимум 800 МБ из оперативной памяти является преступлением :(
Kamafeather