Dziwna wiadomość w konsoli na temat klucza _DirtyJetsamMemoryLimit


36

Ten komunikat jest zawsze wyświetlany w dzienniku konsoli w regularnych odstępach czasu.

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

Czy ktoś może wyjaśnić, dlaczego jest wyświetlany i czy ma jakikolwiek wpływ na wydajność systemu, a także jak się go pozbyć?


1
Mam ten sam komunikat na dwóch komputerach Yosemite (jedna aktualizacja z Mavericks, druga czysta instalacja). Godziny przeszukiwania Internetu pozostawiły mnie z pustymi rękami… wszystkie wyniki odnosiły się do programowania na iOS (więc może to jest problem ze wspólną bazą kodów?). Być może wymaga to tylko aktualizacji 10.10.1 od Apple.
— Dustin Wheeler

Ten sam problem tutaj. Dziennik konsoli poniżej. Brak prawdziwych błędów, które widzę, ale załadowanie zajęło prawie pełną minutę. 17.04.15 10: 31: 11.583 AM com.apple.xpc.launchd [1]: (com.apple.imfoundation.IMRemoteURLConnectionAgent) Klucz _DirtyJetsamMemoryLimit nie jest dostępny na tej platformie. 17.04.2015: 31: 52.000 jądra [0]: AppleCamIn :: power_on_hardware 4/17/15 10: 31: 53.292 AM AppleCameraAssistant [373]: StartHardwareStream: tworzenie odbiornika ramki: 1280 x 720 (420v) [12.00 , 29,97] fps

Ten sam problem tutaj. Jestem na macOS 10.13.4 High Sierra.
— neoneye

Odpowiedzi:


40

Jetsam to system monitorujący wykorzystanie pamięci w OSX i iOS. Przechowuje listę procesów na urządzeniu, aby monitorować sytuacje, w których kończy się wolna pamięć RAM urządzenia i szukać rzeczy, które należy zabić, aby zwolnić pamięć RAM. Obserwuje również procesy, które zużywają zbyt dużo pamięci RAM; przekroczenie poziomu „wysokiego znaku wodnego”.

Ten komunikat o błędzie jest spowodowany tym, że kod jest współdzielony przez OSX i iOS, ale klucz _DirtyJetsamMemoryLimit jest dostępny tylko na iOS.

Możesz przeczytać więcej o Jetsam pod poniższym linkiem.

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

A jeśli jesteś naprawdę zainteresowany, możesz przeczytać część kodu Jetsam w dwóch następujących plikach.

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

Krótko mówiąc, nie sądzę, aby ten komunikat o błędzie koniecznie wskazywał na problem z wydajnością. System pamięci w systemie iOS jest o wiele bardziej rygorystyczny, ponieważ system iOS nie ma plików wymiany (inaczej pamięci wirtualnej), które pozwalają systemowi przekroczyć fizyczną ilość pamięci RAM. OSX ma o wiele więcej miejsca do gry.

Każdy może sprawdzić, czy nie ma to wpływu na wydajność, używając Monitora aktywności i pokazując wszystkie procesy w widoku CPU. Spójrz na syslogdlinię i upewnij się, że czas procesora jest rozsądny w porównaniu do innych zadań, które chcesz wykonać na komputerze Mac.


1
Dobrze. Więc nie ma związku między tym _DirtyJetsamMemoryLimit a powtarzającymi się awariami na Yosemite?

@Domnuldid Brak połączenia. Mam stabilne komputery Mac rejestrujące ten komunikat o błędzie przez cały czas, więc nic nie wskazuje na to, że są one przypadkowe.
— bmike

@bike Czy jesteśmy pewni, że sysmondma to coś wspólnego z Jetsam? Miałem wrażenie, że Jetsam jest w całości zawarty w jądrze i sysmondsłuży tylko do karmienia takich rzeczy, jak Monitor aktywności i top.
— Alistair McMillan

@AlistairMcMillan Wybacz mój błąd - syslogdto powiązany demon, który wykazywałby nadmierną liczbę operacji we / wy z powodu przetwarzania plików dziennika i kierowania komunikatów dziennika. Masz rację co dosysmond
— bmike

4
jeśli kod jest współdzielony między iOS i OS X, to Apple des powinien odfiltrować komunikaty dziennika wyjściowego ... nie wyświetla wiadomości związanych z iOS na komputerze z systemem OS X ... dziennik systemowy staje się tak długi, jak Biblia ...
— erwin
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.