24

Я только что обновился до MacOS Mojave версии 10.14 Beta и заметил новый процесс под названием YaraScanService . Процесс потребляет слишком много оперативной памяти (около 10 ГБ). Я убил процесс с помощью Activity Monitor, но он вернулся через час.

  • Что это за процесс и что именно он делает?
  • Есть ли способ, чтобы закрыть его и / или остановить его от накопления памяти?

3 ответа3

16

MRT/YaraScan - это инструмент для защиты авторских прав MacOS. Причиной такого непристойного использования памяти является то, почему в OSX нет формального «антивируса».

Проще говоря, YaraScan является частью «набора волатильности»; https://www.volatilityfoundation.org/about

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

YaraScan запускается один раз после обновления Mojave, а затем удаляет себя. Также было замечено, что он сохраняется в некоторых системах MacOS в MRT. Причина, по которой он использует так много памяти, состоит в том, что, если не запрограммировано иное (как в случае отказа), процесс, который должен сканировать большое количество файлов на предмет файла неизвестного размера, который может быть зашифрован в указанных искомых файлах, будет использовать большой объем неактивной памяти для сохранения всех расшифрованных отсканированных файлов в течение ограниченного периода времени, если они снова необходимы. Зачем? Поскольку пустая оперативная память - потраченная впустую оперативная память, я имею в виду, что вы все равно должны отдавать ей ватты, так зачем удалять то, что находится на ней, когда что-то еще не хочет быть там? Требуется 100 раз больше, чтобы вернуть его.

Что еще более важно, если вы используете Filevault или APFS, ВСЕ эти данные зашифрованы и должны быть расшифрованы для чтения. Многие приложения на самом деле нуждаются в запуске и последующем сканировании, когда они загружены, так как многие файлы могут объединиться, чтобы создать угрозу в пространстве памяти в виде единого «параллельного файла». Вирусы могут быть частично сохранены в dylib для совершенно не связанного приложения.

Количество времени активно определяется Grand Central Dispatch на вашем Mac, и как только вы попытаетесь использовать программу, которая нуждается в этой логической памяти, она попытается очистить ее. Обратите внимание, что виртуальная память в этом случае должна быть большой, так как все эти дешифрованные данные лучше хранить там, пока вы буквально не исчерпаете пространство, чем удалите на вторичном проходе вскоре после многократного создания.

Это новое поведение в эпоху твердотельных накопителей, позволяющее максимально увеличить срок службы привода за счет отзывчивости. Текущее поведение GCD предполагает, что замедление происходит из-за быстрого ЦП, создающего расшифрованные данные быстрее, чем они могут быть записаны на диск, и других запросов к ОЗУ, ожидающих завершения SSD/HDD.

7

Он также работает на 10.13.6 (17G65).

1054  66.3  2.1 62395936 359328   ??  Us   11:48AM  10:39.14 /System/Library/CoreServices/MRT.app/Contents/XPCServices/YaraScanService.xpc/Contents/MacOS/YaraScanService

Выглядит скорее всего https://github.com/virustotal/yara

https://apple.stackexchange.com/questions/296339/mrt-process-using-large-unbounded-amount-of-memory

2

Это на самом деле не потребляет вашу оперативную память. Вероятно, при чтении этих файлов используется сопоставленный с памятью ввод-вывод, но это означает лишь то, что содержимое файла сопоставлено с пространством виртуальной памяти, но на самом деле это не означает, что используется физическая память. Для фактического использования вам нужно посмотреть на «Реальный объем памяти в Activity Monitor.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .