Дивне повідомлення в консолі про клавішу _DirtyJetsamMemoryLimit


36

Це повідомлення завжди виводиться в журнал консолі через рівні проміжки часу.

com.apple.xpc.launched: (comm.apple.imFoundation.IMRemoteURLConnectionAgent) the _DirtyJetsamMemoryLimit key is not available in this platform

Чи може хтось пояснити, чому він відображається та чи має це вплив на продуктивність системи, а також як позбутися від неї?


1
У мене те саме повідомлення на двох машинах Yosemite (один - оновлення від Mavericks, інший - чиста установка). Години пошуку в Інтернеті залишили мене з порожніми руками… всі результати стосуються програмування iOS (тож, може, це проблема із спільною базою коду?). Можливо, воно просто вимагає оновлення 10.10.1 від Apple.
— Дастін Вілер

Тут же питання. Журнал консолі нижче. Яких-небудь реальних помилок я не бачу, але завантажувалося майже повну хвилину. 4/17/15 10: 31: 11.583 AM com.apple.xpc.launchd [1]: (com.apple.imfoundation.IMRemoteURLConnectionAgent) Ключ _DirtyJetsamMemoryLimit на цій платформі недоступний. 4/17/15 10: 31: 52 000 AM ядра [0]: AppleCamIn :: power_on_hardware 4/17/15 10: 31: 53,292 AM AppleCameraAssistant [373]: StartHardwareStream: створення приймача кадру: 1280 x 720 (420v) [12.00 , 29.97] fps

Тут же питання. Я на macOS 10.13.4 Висока Сьєрра.
— neoneye

Відповіді:


40

Jetsam - це система, яка контролює використання пам'яті в OSX та iOS. Він зберігає список процесів на пристрої, відслідковує ситуації, коли на пристрої не вистачає вільної оперативної пам’яті, і шукає речі для вбивства, щоб звільнити ОЗУ. Він також спостерігає за процесами, які використовують занадто багато оперативної пам'яті; порушення рівня "високої водної позначки".

Це повідомлення про помилку пояснюється тим, що код ділиться між OSX та iOS, але ключ _DirtyJetsamMemoryLimit доступний лише в iOS.

Детальніше про Jetsam ви можете прочитати за наступним посиланням.

http://newosxbook.com/articles/MemoryPressure.html

А якщо вам справді цікаво, ви можете прочитати деякі з кодів Jetsam у наступних двох файлах.

http://www.opensource.apple.com/source/xnu/xnu-1456.1.26/bsd/kern/kern_memorystatus.c http://www.opensource.apple.com/source/xnu/xnu-1456.1.26 /bsd/sys/kern_memorystatus.h

Коротше кажучи, я не думаю, що це повідомлення про помилку обов'язково вказує на проблему з продуктивністю. Система пам'яті на iOS набагато суворіша, оскільки в iOS немає таких речей, як свопфіли (ака віртуальна пам'ять), які дозволяють системі перевищувати фізичну кількість оперативної пам'яті. У OSX є набагато більше місця для гри.

Будь-хто може переконатися, що він не впливає на продуктивність, використовуючи Монітор активності та показуючи всі процеси у поданні процесора. Подивіться на syslogdрядок і переконайтесь, що час процесора є розумним порівняно з іншими завданнями, які ви хочете виконати на вашому Mac.


1
Добре. Тож між цим _DirtyJetsamMemoryLimit та повторюваними аваріями на Yosemite немає зв’язку?

@Domnuldid Немає з'єднання. У мене стабільні Macs весь час записує це повідомлення про помилку, тому немає чітких ознак того, що вони є лише випадковими.
— bmike

@bmike Ми впевнені, що це sysmondмає щось спільне з Jetsam? У мене було враження, що Jetsam повністю міститься в ядрі, і sysmondвін просто подає такі речі, як Activity Monitor і top.
— Алістер Макміллан

@AlistairMcMillan Вибачте за мою помилку - syslogdце пов’язаний демон, який показав би надмірний IO / CPU через обробку файлів журналу та маршрутизацію повідомлень журналу. Ви маєте раціюsysmond
— bmike

4
якщо код поділяється між iOS та OS X, то Apple des має фільтрувати повідомлення журналу виводу ... не відображаючи повідомлення, пов’язані з iOS на комп'ютері OS X ... системний журнал перетворюється до тих пір, як Біблія ...
— erwin
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.