nsurlsessiond mac os что это
Nsurlsessiond mac os что это
[Ответить]
kirger [04.06.2015 20:47] nsurlsessiond что это за подстава от Apple:
nsurlsessiond что это за процесс, который совместно с Сафари на Yosemite выжирает такой дорогой для меня, я сейчас на сотовой связи, трафик?
Пока выход нашел один, не пользоваться Сафари. Однако не понятно зачем это nsurlsessiond? Steps [04.06.2015 20:55] :
Синхронизатор с iCloud.
http://ru-mac.livejournal.com/20815256.html
Выруби его к свиням. kirger [04.06.2015 21:13] :
О спасиб, сволочь ограбил меня на 4 гига Водафона 🙁 kirger [05.06.2015 23:42] :
Степс, или может кто еще знает, что и где можно выключить? жрет трафик безбожно, работает только майл, сафари и адиум. Steps [05.06.2015 23:54] :
Кирыч, я посмотрю. Пока просто руками через Мониторинг убивай процесс. Или LittleSnitch поставь, он исходящий трафик обрежет. kirger [05.06.2015 23:57] :
Андрюх, может я и зря паникую, сейчас посмотрел мегабайт в минуту, может это и нормально? я просто никогда не считал, а сейчас приходится 🙁 Steps [06.06.2015 00:04] :
Много. Я в ночи перегружусь в 10.10, она чистая у меня, на ней вообще ничего нет кроме адобовских триалов, и засеку. kirger [06.06.2015 00:18] :
Steps писал(а):
LittleSnitch
Вещь, только знать бы какие процессы обрубать, а какие нет. Не хакер я уже ;-( однако стало в половину меньше. вру, 20 минут, трафик 1,5 мб
Степс ты меня спас. Steps [06.06.2015 00:27] :
А на неё надо немного времени потратить просто, на гуглёж. Ну вот то есть всякие Ромки и так знают процессы по именам, а нам гуглить нужно. Появилось предупреждение — смотришь, кто это. Если нажать на адрес, Снич вообще выдаёт список с портами вместе. Там системное обновление наверняка в паранойю впало и постоянно в Стор ломится, сам софт проверяется… Это исходящий, да, но на него ответы приходят. А у тебя софт легальный, следовательно, ничего не запрещено нигде, вот проги (и системные службы) и веселятся от безнаказанности. kirger [06.06.2015 00:28] :
а я все подряд стал отключать, кроме майла, адиума и сафари [Ответить]
[Вперед >]
Как узнать, что скачивает nsurlsessiond
Я отключил все диски с iCloud, и, кажется, что-то еще использует его. У меня нет обмена фотографиями и синхронизации фотографий между моим Mac и iPhone. И я выключил все, что мог. Но nsurlsessiond по-прежнему загружает более 400 МБ при каждом запуске; который иногда вызывается перезапуском системы.
Я сделал пример процесса на нем; но я понятия не имею, что это значит.
Этот демон вызывается, и для загрузки служб требуется вызов из многих приложений и многих служб в macOS. (И iOS, и ТВ, и WatchOS)
Я не нашел простого способа получить сводные данные или статистику из диспетчера сеансов, но, поскольку он работает в очереди для загрузки или выгрузки, я предполагаю, что у вас есть одно или несколько заданий по времени.
Вот несколько способов выделить активность в вашей системе:
В первом перечислены открытые файлы и сортировки для совпадений «nsurl». Второй перечисляет все процессы и сортирует снова. Третий список активности файловой системы.
Это позволит вам отслеживать вещи и видеть, какой из нескольких демонов nsurl работает, когда вы измеряете 400 МБ передачи. Вы также можете получить дамп системной активности с sysdiagnose nsurlsessiond
В моем случае я обнаружил, что:
/ Пользователи / UUUUUUU / Библиотека / Мобильные документы / 57T923XXXX
WhatsApp / Аккаунты / NNNNNNNNN / backup
К сожалению, файл резервной копии для носителя находится в одном огромном архиве (у меня размер> 560 МБ), поэтому каждый раз, когда резервное копирование WhatsApp, файл WHOLE повторно загружается, насколько я вижу. Это то, что делает nsurlsessiond.
При удалении «документов» WhatsApp (т. Е. Резервных копий) через консоль управления хранилищем iCloud в iOS или Mac OS X файлы удаляются из папки «Мобильные документы», после чего nsurlsessiond больше не выполняет никаких действий.
Почему NSURLSession лучше, чем NSURLConnection
iOS 7 официально вышла в сентябре, тогда Apple предоставила разработчикам новый способ работы с сетью — NSURLSession. Это достаточно фундаментальная вещь, потому в случае необходимости поддержки iOS 6 и ниже, распараллеливать код относительно версии системы будет крайне проблематично. Но тем не менее, время идет, и уже сейчас по разным данным от 75 до 85 процентов пользователей перешло на последнюю iOS, потому я бы советовал попробовать NSURLSession уже в следующем проекте.
Покажу, что новый способ совсем не страшный и что его действительно стоит использовать. Итак приступим, ключевым классом является NSURLSession, как ясно из названия, он создает некую сессию, для загрузки/выгрузки данных через HTTP. Существует три типа сессии: default — это то, что раньше делал NSURLConnection, ephemeral — в ней ничего не кэшируется и все хранится в оперативной памяти(напоминает приватный режим в браузере), download — результат представляется в виде файлов.
NSURLSessionConfiguration
Свойствами сессии управляет класс NSURLSessionConfiguration, в котором есть огромное множество параметров, помимо выбора типа сессии: возможность загрузки через мобильную сеть, куки, кэш, прокси, безопасность. Есть одно интересное свойство discretionary — оно позволяет отдать загрузку на усмотрение системы (когда будет wi-fi и много заряда батареи).
NSURLSession
Задав конфигурацию сессии, создаем саму сессию, принимая конфигурацию в конструкторе. Данные получаем привычными двумя способами: устанавливаем делегата или ловим данные в completion блоке (о них чуть позже).
NSURLTask
Является минимальной задачей, то что до это было NSURLConnection. Сам по себе класс абстрактный, но у него есть 3 подкласса: NSURLSessionDataTask, NSURLSessionUploadTask (подкласс первого) и NSURLSessionDownloadTask, впрочем, и у них нет собственного конструктора. Все они создаются самой сессией c completion блоком или без (вполне логично, что в первом случае делегат сессии не нужен). Выглядит все это несколько экзотично:
Блоки и делегаты
Вообще сам процесс загрузки сильно напоминает работу с NSURLConnection, быстренько рассмотрим два пути работы с сессиями.
Через делегаты:
Сессии задаем делегата во время создания.
После чего все делегатные методы (в том числе и тасков) вызываются в делегате.
Через блоки:
Достаточно лишь создавать таски с помощью
Примеры
Разобрались с общей схемой, отложим теорию, время посмотреть примеры!
Остановка/продолжение загрузки.
Вся схема достаточно сильно напоминает работу через NSURLConnection, но, в отличие от него, мы можем просто отменить любой download таск. Также при отмене будет вызван делегатный метод URLSession:task:didCompleteWithError:, так что там можно будет провести все необходимые манипуляции с UI. Причем можно не только отменить, но и просто остановить.
Останавливая таск можно сохранить все полученные данные, а уже после отдать его новому download таску.
Загрузка в файл
Еще одна вещь, которую хотелось бы разобрать, это download таски. Напомню, они позволяют загруженное сразу же укладывать в файл.
через делегатный метод:
Надо сказать, что мы получаем в переменную location адрес на нашем устройстве:
file:///private/var/mobile/Applications/
Посылаем конечное число запросов за раз
Пример достаточно простой и прозрачный, но заострю ваше внимание на одном моменте:
Согласно документации:
timeoutIntervalForRequest — время, которое отводится на загрузку каждого таска
timeoutIntervalForResource — время, которое отводится на загрузку всех запросов
и тут у нас возникает проблема, дело в том, что в момент, когда мы начинаем таск ([task resume]) счетчик timeoutIntervalForRequest начал тикать, и никого не волнует, что тасков у нас 100, а одновременно работать может только 5. По этой причине получается, что значения этих параметров должно быть одинаковым, ведь таски, которые будут вызваны последними, могут закончиться так и не получив не бита данных.
Потому нам ничего не остается кроме как установить обе переменные в одинаковые значения, также можно выставить в 0, в этом случае счетчик будет идти до бесконечности.
Да, конечно можно изобрести велосипед и самостоятельно следить за количеством тасков, но хочется ведь вариант «из коробки». Тут, на мой взгляд, инженеры Apple не до конца додумали.
Отслеживание загрузки
У download тасков есть специальный делегатный метод:
Для остальных же тасков можно воспользоваться KVO как в предыдущем примере.
Загрузка в бэкграунде
Ну и в конце разберемся с примером загрузки в бэкграунде, пример повторяет демо из wwdc’13 705. Лично меня демка потрясла. Запускаем загрузку картинки, выходим из приложения, возвращаемся — картинка загружена и уже уложена, причем это видно даже в мультитаск менюшке (та, что по двойному нажатию на домашнюю кнопку). Но более того, если мы в момент загрузки уроним приложение — загрузка закончится и все вернется будто ничего не произошло! Да еще и после загрузки обновляется наш UI прям в бэкграунде, и меняется снапшот в многозадачном меню. Единственный случай, когда загрузка не заканчивается — это когда пользователь сам убивает приложение, но тут уж ничего не поделаешь, хозяин — барин.
Почему же такая «магия» работает? Все дело в том, что когда приложение запускает бэкграунд процесс — система создает демона, который занимается передачей данных в приложение. Оно и логично, нам нужно что-то, что будет жить независимо от приложения. По этой причине нам не страшны ни остановка, ни крэш приложения. После окончания загрузки, демон «будит» приложение, после чего мы можем восстановить сессию и получить все данные. Создание новой сессии со старым идентификатором «подключит» нас к существующей бэкграунд сессии.
Теперь разберем основные моменты, сам тестовый проект можно забрать здесь.
Сначала в синглтоновом стиле создаем сессию:
Начинаем загрузку (тут вопросов возникать не должно):
В делегатном методе для бэкграунд тасков сохраняем картинку и показываем ее:
В делегатном методе для окончания уже всех тасков отлавливаем окончание загрузки (в нашем случае будут вызываться и этот и предыдущий методы)
Теперь переместимся в AppDelegate.m
Нам надо ловить сообщения от системы, когда загрузка закончена:
Возвращаемся в основной контроллер.
Восстановим сессию, если это необходимо:
Метод, который вызывается в самом конце:
Добавлю, что в случае, если мы не вызываем этот хэндлер, мы получим в лог предупреждение:
Также, если мы откроем многозадачное меню, мы не увидим нашего обновленного интерфейса. Собственно, этим примером демонстрируется одна из сторон многозадачного «UI», о котором нам говорили Apple.
На этом все, надеюсь, данная статья подвигнет использовать NSURLSession в ближайших проектах!
Как узнать, что загружает nsurlsessiond
Я отключил все файлы iCloud, и, похоже, что-то еще использует его. У меня нет обмена фотографиями и синхронизации фотографий между моим Mac и iPhone. И я выключил все, что мог. Но все же nsurlsessiond загружает более 400 МБ каждый раз, когда он запускается; который иногда запускается при перезапуске системы.
Я сделал образец процесса; но я понятия не имею, что это значит.
4 ответа
Этот демон можно вызвать из многих источников.
Я не нашел простой способ обобщить вещи, но поскольку он работает в очереди на загрузку или загрузку вещей, я предполагаю, что у вас есть работа, которая отключается.
Вот несколько способов выделить деятельность в вашей системе:
Это позволит вам следить за вещами и видеть, какой из нескольких демонов nsurl работает, когда вы измеряете 400 мб передачи. Вы также можете получить дамп активности системы с помощью sysdiagnose nsurlsessiond
В моем случае я обнаружил, что:
/Пользователи /UUUUUUU /Библиотека /Мобильные документы /57T923XXXX
WhatsApp /Accounts /NNNNNNNNN /backup
Удаление документов WhatsApp (например, резервных копий) через консоль управления хранилищем iCloud в iOS или Mac OS X удаляет файлы из папки «Мобильные документы», и после этого больше нет активности от nsurlsessiond.
Надеюсь, что это поможет.
Это был действительно полезный пост:
Для гуглеров, которые просто хотят остановить использование полосы пропускания, выполните то, что сделал OP, и отключите службы, которые могут вызывать проблемы:
ICloud
Предложения Spotlight
Если вы обнаружите что-то еще, связанное с полосой пропускания на вашем компьютере, оставьте его в комментариях, и я добавлю его здесь.
I was in a public library, uploading to my dropbox account, and all of sudden my network speed indicator/ montior showed heaps of download and fast too.
but i was not downloading anything.
I was upping to my dropbox account.
In activity monitor i noticed this service was operating «nsurlsessiond»
What is this service?
In my connection alert it tells me nsurlsessiond tried to establish a connection to apple-dnld.vo.llnwd.net on TCP port 80 (http)
Secondly, i was using my own wifi, and saw this nsurlsessiond service consuming heaps of data. Again I was upping to my dropbox account. About 1gb this time.
Now I have blocked communciation to «nsurlsessiond»
What is the impact of blocking such communication?
please see details of service in screenshot
Now after this experience, I am wondering is it apple policy to have communication from our macbook’s to somwhere without us knowingly allowing it? I thought apple was respective of our privacy, or has this changed?
thankyou for your help and time.
Message was edited by: seaseasea added screenshot
Message was edited by: seaseasea added device and osx
MacBook Pro (13-inch Mid 2010), OS X Yosemite (10.10.3), null
Posted on Apr 29, 2015 7:56 PM
Helpful answers
In activity monitor i noticed this service was operating «nsurlsessiond»
What is this service?
Now I have blocked communciation to «nsurlsessiond»
What is the impact of blocking such communication?
Now after this experience, I am wondering is it apple policy to have communication from our macbook’s to somwhere without us knowingly allowing it? I thought apple was respective of our privacy, or has this changed?
This is a system process used to perform network communication. It is used by both Apple and 3rd party software. Your system will not function properly if you disable it.
Apple only has control over its own software and any software sold through the Mac App Store. You can be reasonably confident that any software your downloaded via the Mac App Store will respect your privacy because of Apple’s sandboxing architecture and review process. There is no such guarantee if you download software from outside the Mac App Store. However, this is a sensitive topic on the internet and privacy issues are usually quickly identified and corrected. This applies to both Apple itself and 3rd party software. In most cases, if you are using reputable software, there is nothing to worry about.
When you see the activity, note the exact time: hour, minute, second.
These instructions must be carried out as an administrator. If you have only one user account, you are the administrator.
Launch the Console application in any of the following ways:
☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
☞ Open LaunchPad and start typing the name.
SYSTEM LOG QUERIES ▹ All Messages
from the log list on the left. If you don’t see that list, select
View ▹ Show Log List
from the menu bar at the top of the screen.
Each message in the log begins with the date and time when it was entered. Scroll back to the time you noted above.
Select the messages entered from then until the end of the episode, or until they start to repeat, whichever comes first.
The log contains a vast amount of information, almost all of it useless for solving any particular problem. When posting a log extract, be selective. A few dozen lines are almost always more than enough.
Please don’t post screenshots of log messages—post the text.
Some private information, such as your name, may appear in the log. Anonymize before posting.
When you post the log extract, you might see an error message on the web page: «You have included content in your post that is not permitted,» or «The message contains invalid characters.» That’s a bug in the forum software. Please post the text on Pastebin, then post a link here to the page you created.
Apr 30, 2015 7:00 AM
There’s more to the conversation
Loading page content
Page content loaded
Quit iTunes if it’s running. Any change?
Apr 29, 2015 9:05 PM
Thankyou Linc for reply. iTunes is not running. I never use it.
Apr 29, 2015 9:12 PM
Do you see this activity only when using Dropbox?
Apr 29, 2015 9:25 PM
i couldnt say. it was just that i happen to be only upping, to dropbox, and then saw downloading on the monitor.
that was triggered as odd.
i rarely look at what services are going on. only if my macbook slows down or something else odd.
in both cases i was only upping to dropbox.
i dont do alot with my macbook, other than upping to dropbox laterly.
thankyou for your thinking and help.
Apr 30, 2015 1:07 AM
I have the same process acting weird as well as two others called «mapspushd» and «nbagent» application that say they want to connect to apple.com; however in doing so this makes the mac completely still nothing happens except pinwheel torture.
I’d like to bring attention to this thread Re: Slow start and Mac as I believe the core problem in most of these Yosemite posts is the same.
Apr 30, 2015 3:35 AM
When you see the activity, note the exact time: hour, minute, second.
These instructions must be carried out as an administrator. If you have only one user account, you are the administrator.
Launch the Console application in any of the following ways:
☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
☞ Open LaunchPad and start typing the name.
SYSTEM LOG QUERIES ▹ All Messages
from the log list on the left. If you don’t see that list, select
View ▹ Show Log List
from the menu bar at the top of the screen.
Each message in the log begins with the date and time when it was entered. Scroll back to the time you noted above.
Select the messages entered from then until the end of the episode, or until they start to repeat, whichever comes first.
The log contains a vast amount of information, almost all of it useless for solving any particular problem. When posting a log extract, be selective. A few dozen lines are almost always more than enough.
Please don’t post screenshots of log messages—post the text.
Some private information, such as your name, may appear in the log. Anonymize before posting.
When you post the log extract, you might see an error message on the web page: «You have included content in your post that is not permitted,» or «The message contains invalid characters.» That’s a bug in the forum software. Please post the text on Pastebin, then post a link here to the page you created.
Apr 30, 2015 7:00 AM
In activity monitor i noticed this service was operating «nsurlsessiond»
What is this service?
Now I have blocked communciation to «nsurlsessiond»
What is the impact of blocking such communication?
Now after this experience, I am wondering is it apple policy to have communication from our macbook’s to somwhere without us knowingly allowing it? I thought apple was respective of our privacy, or has this changed?
This is a system process used to perform network communication. It is used by both Apple and 3rd party software. Your system will not function properly if you disable it.
Apple only has control over its own software and any software sold through the Mac App Store. You can be reasonably confident that any software your downloaded via the Mac App Store will respect your privacy because of Apple’s sandboxing architecture and review process. There is no such guarantee if you download software from outside the Mac App Store. However, this is a sensitive topic on the internet and privacy issues are usually quickly identified and corrected. This applies to both Apple itself and 3rd party software. In most cases, if you are using reputable software, there is nothing to worry about.
Thankyou for your time and effort. I have been busy troubleshooting. It appears this surge of network activity (and data transfer) from this process, nsurlsessiond.. was the start of my MacBook pro starting to have performance Issues.
I noticed these performance issues when I was using Pathfinder, Dropbox Sync or OSX Mail. For example, my file transfers (move) between mac and my external over local home WIFI is very good. Often many GB at a time. Then I had this transfer for 30000 files but only 130mb in size that took 10hrs! I stopped it 3 times, to try and get a better transfer rate, then just let it run thru the night. It completed.
So something is not happy for my macbook, I have concluded.
So now, current settings regarding connections allowed/blocked
Console under Library/Logs/Crash Reporter, I am seeing many for com.apple.networking.discoveryd.log, that I dont know what means. I recently added the app, MacFusion and it is having trouble with time-out before authenticates me, although passcode correct. So maybe it has something to do with this.
May 6 07:19:00.359020 localhost discoveryd_helper[258]: Basic RemoteControl com.apple.discoveryd_helper Starting XPC Server
May 6 07:19:00.359535 localhost discoveryd_helper[258]: Detailed RemoteControl com.apple.discoveryd_helper XPC connection 0x7f9c83d00a20: start (pid=72, not root)
I need to have Dropbox Sync running alot in next few 3 days. So I will record times.
Any other suggestion of next troubleshooting steps? Any particular log to log-out for in Console?