Załóżmy, że mam urządzenie IoT, kontrolowane przez firmę A, które kupuje kilka usług od firmy B. Będę odpowiedzialny za wszystkie opłaty, nawet jeśli nie miałem pojęcia, że firma A miała zamiar dokonać tych zakupów w moim imieniu.

W weekend odkryłem, że mam takie urządzenie i że pieniądze zagrożone nie są trywialne. Proces w tle o nazwie nsurlsessiond, którego Apple używa do zarządzania usługami iCloud, pobrał 400 GB (tak, GIGA i tak BYTES) danych na mojego iMaca w ciągu 31 godzin. Apple sprawia, że bardzo trudno jest zobaczyć lub zrozumieć, co ten proces robi. Więc w efekcie, to zamienił mój iMac do IoT urządzenia, które spalone bandwidth.

Dowiedziałem się, że nie było problemu tylko dlatego, że spędziłem trochę czasu pracy zdalnej na moim Macbooku, używając mojego iPada 4G połączenie z Internetem. Został on również przekształcony w jedno z tych urządzeń IoT, więc wkrótce otrzymałem ostrzeżenie od mojego dostawcy usług internetowych, mówiąc, że przekroczyłem już cały mój miesięczny przydział 20 GB danych pobieranych bezprzewodowo. Przestałem łączyć się przez 4G tak szybko, jak tylko mogłem, ale i tak skończyło się na 75 dolarach w opłatach za nadmiar danych.

Kiedy wróciłem do domu, sprawdziłem mojego iMaca. Nie mogłem znaleźć sposobu, aby uzyskać informacje, których potrzebowałem, aby dowiedzieć się, co się dzieje z wbudowanego Monitora aktywności. Na szczęście mam również program o nazwie Little Snitch, który monitoruje ruch sieciowy. Jego raport na temat nsurlsessiond pokazał co następuje:

nsurlsessiond

Aby określić zobowiązania, gdyby to pobieranie odbywało się za pośrednictwem mojego połączenia 4G, opłata za przekroczenie limitu u mojego ISP w wysokości 15$ za GB, pomnożona przez 400 GB danych, oznaczałaby 6000$ w opłatach za dane. Moje połączenie w domu nie ma limitu danych, ale nie każdy ma tę ochronę. Technik w Apple powiedział, że gdybym stanął w obliczu dużych opłat, czasami działa zadzwonić do dostawcy usług internetowych i błagać o litość.

Apple i mój dostawca usług internetowych mają długoterminowe relacje. Razem, mają wspólny interes w uzyskaniu mnie do korzystania z dużo więcej danych, że ISP może pobierać opłaty. Mój ISP może nagradzać Apple poprzez zachęcanie sprzedaży urządzeń mobilnych Apple.

Prawdopodobnie, dwa z nich chciałby uniknąć uwagi coraz skok wykorzystania jak jeden stanąłem. To było z pewnością spowodowane przez błąd. Ale to jest wymowne, że Apple skonfigurował rzeczy tak, że domyślnie nie mam widoczności na wykorzystanie danych w tle i bez żadnej przepustnicy lub limitu, który mógłby ograniczyć potencjalne szkody, że kiedy rzeczy spirali out of control.

Jeśli musisz zapłacić za dane, być bardzo ostrożnym o użyciu iCloud. I przygotuj się na wiele niespodzianek ze strony IoT.

Dla każdego, kto napotyka podobny problem z nsurlsessiond

Podsumowanie

  1. Jeśli potrzebujesz tymczasowej poprawki, która zatrzyma masowe pobieranie danych, jedną z opcji jest zainstalowanie Little Snitch i dodanie reguły, którą możesz włączyć lub wyłączyć, która odmawia wszelkich połączeń wychodzących do nsurlsessiond. Chociaż to tylko zatrzymuje wychodzące żądania, ale to wydaje się być wymagane do podtrzymania przychodzących pobrań.

  2. Aby uzyskać stałą poprawkę, musiałem całkowicie przestać używać iCloud. Usunąłem wszystkie dane z iDrive i usunąłem wszystkie dane z jednej aplikacji (Notability), która miała pozwolenie na przechowywanie danych w iCloud.

  3. Jeśli, tak jak ja, masz problem, który jest prawdziwym błędem, a nie wbudowaną funkcją Photos – ogromne transfery danych, jeśli masz dużą bibliotekę zdjęć i zgadzasz się na używanie Photos z iCloud – będziesz musiał spędzić dużo czasu i wysiłku z Apple Tech Support przekonując ich, że Photos nie jest źródłem Twojego problemu.

Szczegóły

1. nsurlsessiondIstnieje wiele raportów użytkowników, którzy skończyli z ogromnymi pobraniami, których nie przewidzieli. Wiele z raportów od bardziej technicznych użytkowników identyfikuje nsurlsessiond jako proces wykonujący pobieranie. Wiele z nich jest najwyraźniej wynikiem ustawień domyślnych i mylącego interfejsu, który nakłania ludzi do wyrażenia zgody na przechowywanie dużych ilości danych zdjęć w iCloud bez zdawania sobie sprawy z konsekwencji tej decyzji. Byłem ostrożny, aby nie pozwolić żadnej z aplikacji Apple’a korzystać z iCloud. Aby to zrobić, musiałem zmienić ustawienia domyślne dla iCloud, które włączają aplikacje Apple.

2. iCloud DriveJako część iCloud, używałem iDrive, który pozwala mi mieć część mojego systemu plików w chmurze. Mogę zobaczyć te pliki w Finderze pod iCloud Drive. To zachowuje się jak Dropbox lub Google Drive, ale z jedną zasadniczą różnicą. Nie mam żadnej kontroli nad procesem synchronizacji z lokalnym magazynem danych. Jeśli iDrive jest włączony, proces w tle (prawdopodobnie nsurlsessiond, ale mogą być inne) synchronizuje pliki na iDrive z cache na mojej maszynie. Miałem około 30 GB danych na iDrive.

3. Pozwalanie aplikacji używać iCloudPozwoliłem tylko jednej aplikacji (Notability) przechowywać swoje dane w iCloud. Ta aplikacja działa zarówno na urządzeniach z systemem IOS, jak i OSX. Pod OSX, to również wymaga synchronizacji pomiędzy danymi przechowywanymi w chmurze i lokalnej pamięci podręcznej. Różnica polega na tym, że jak można się spodziewać po świecie IOS, pliki nie są widoczne przez Findera. Kiedy sprawdziłem iCloud w Preferencjach Systemowych, zobaczyłem, że Notability przechowuje około 3 GB w iCloud. (To znacznie więcej, niż Notability wydaje się być zaprojektowane do obsługi. Ta duża ilość danych powstała częściowo dlatego, że na urządzeniach z systemem IOS, Notability duplikuje każdą notatkę, jeśli wyłączysz dostęp do iCloud, a następnie włączysz go z powrotem. Najwyraźniej, wyłączenie go zmienia lokalną pamięć podręczną w stały lokalny magazyn danych. Następnie, po ponownym włączeniu iCloud, Notability pobiera kolejną kopię każdej notatki z iCloud i umieszcza je w nowej pamięci podręcznej. Gdy próbowałem rozwiązać problemy z Notability, skończyłem z 4 kopiami każdej notatki.)

4. Źródło problemuWidziałem oznaki błędów zarówno w Notability, jak i iDrive, więc nie jestem pewien, co spowodowało masowe pobieranie.

Pliki pamięci podręcznej znajdują się w Bibliotece użytkownika, do której można dostać się przez Findera, przytrzymując klawisz opcji po kliknięciu na Idź. Aby zobaczyć, co dzieje się w Bibliotece, warto wybrać polecenie Pokaż opcje widoku dla Findera (z menu Widok) i zaznaczyć opcję Oblicz wszystkie rozmiary, aby Finder mógł wyświetlić rozmiary wszystkich folderów w katalogu.

W Bibliotece folder Dokumenty mobilne wydaje się być pamięcią podręczną dla iDrive. Miał on taką samą ilość danych, 30 GB, jaką pierwotnie przesłałem do iDrive.

Podejrzewam, że Notability buforowało informacje w Library/Cache/CloudKit. W różnych momentach, ten folder miał od 5 do 20 GB, co oczywiście jest o wiele za dużo w stosunku do 3 GB, którymi Notability miało zarządzać. Biorąc te dwie rzeczy razem, nie ma powodu, dla którego synchronizacja 30+3 GB danych miałaby wymagać 400 GB pobierania na pojedynczą maszynę. Coś musiało ciągle próbować, w kółko, osiągnąć coś, co nie działało.

Duży cache w CloudKit sugerował, że problemem jest Notability. Próbowałem usunąć folder CloudKit, a nawet cały folder Caches. Kiedy były one w Koszu, nadal były używane przez różne procesy systemowe. Po ponownym uruchomieniu komputera czasami widziałem, że duża pamięć podręczna pojawia się ponownie w CloudKit zbyt szybko, aby mogło to być wynikiem pobierania plików, więc podejrzewam, że te same procesy, które używały plików, gdy znajdowały się w Koszu, odzyskiwały je do CloudKit po ponownym uruchomieniu komputera. Jedynym sposobem, jaki znalazłem, aby temu zapobiec, było i) wyłączenie połączenia z internetem, ii) usunięcie folderu CloudKit, iii) ponowne uruchomienie, iv) opróżnienie kosza, v) ponowne włączenie połączenia z internetem. Ale wtedy pamięć podręczna CloudKit nadal wydawała się odbudowywać poprzez pobieranie. Trwało to nawet po usunięciu wszystkich moich danych z Notability. (Patrząc wstecz, powinienem był spróbować usunąć tę pamięć podręczną zarówno z mojego komputera iMac, jak i MacBooka, aby wykluczyć możliwość, że pamięć podręczna na jednym komputerze próbowała odbudować pamięć podręczną na drugim.)

Moje problemy ustąpiły dopiero po usunięciu wszystkich moich danych z iDrive, robiąc to na każdym komputerze i dla każdego użytkownika z dostępem do iDrive. Po drodze próbowałem jeszcze kilka razy usunąć folder pamięci podręcznej CloudKit. (Teraz zawiera on bardzo mało danych.)

Moje przeczucie jest takie, że winowajcą jest Notability, ale możliwe jest, że iDrive również korzystał z pamięci podręcznej CloudKit w jakiś sposób i że to było prawdziwe źródło problemu; lub że istnieje jakaś interakcja między Notability a iDrive; lub że było opóźnienie lub interakcja między pamięciami podręcznymi na dwóch maszynach, tak że pozbycie się danych Notability rozwiązało problem, ale to nie pokazało się, dopóki nie usunąłem wszystkich danych z iDrive; lub …

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.