Дивне повідомлення в консолі про клавішу _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.