I have my Mac running OS X 10.8 set up so that I can see the contents of its iCloud repository at ~/Library/Mobile Documents (see this question and this question for more information on how that works). However, I'd like to be able to see / visualize / understand the sync state of my Mac:

  • Is my Mac in sync with iCloud?
  • If not, what is being uploaded / downloaded / how long will it take?
  • Are there any utilities or built-in features of OS X that will allow me to see any of this?

These are valid questions even without iCloud explicitly exposed in the filesystem, but are obviously more useful if you copy bulk numbers of files in/out of the iCloud repository explicitly.



The following command, run whilst working with iCloud with apps (such as Smultron 4 and TextEdit) that support Mobile Documents –

sudo opensnoop -n ubd

– shows local files opened by the ubiquity daemon. Files include databases, one database per peer. One directory per peer at the following path:

~/Library/Application Support/Ubiquity

Types of data

If you wish to measure progress, decide which types to measure:

  • Core Data
  • documents
  • key-value.

Saves, progress and measurement

Core Data

… The change log files, not the store file, are uploaded to iCloud and downloaded to each of a user’s other devices. When a change log arrives from another device attached to the same iCloud account, Core Data updates your app’s local copy of the SQLite database, based on the received change log. iCloud and Core Data ensure that each local database is updated with the same set of changes. …

Consider: without interpreting the content of a change log, will it be worthwhile to measure progress of upload of the log file?


In the Mac Developer Library:

… Document-based apps can adopt autosaving in place, and its documents are automatically saved at appropriate times …


Automatic Data-Saving Strategies Relieve the User

… appropriate points in your code where any user-related changes should be saved and write those changes to disk automatically. …

Some appropriate times when you can save user data automatically include the following:

  • When the user closes the app window or quits the app (applicationWillTerminate:)
  • When the app is deactivated (applicationWillResignActive:)
  • When the user hides your app (applicationWillHide:)
  • Whenever the user makes a valid change to data in your app

The last item means that you have the freedom to save the user’s data at any time it makes sense to do so. For example, if the user is editing fields of a data record, you can save each field value as it is changed or you can wait and save all fields when the user displays a new record. Making these types of incremental changes ensures that the data is always up-to-date but also requires more fine-grained management of your data model. …

Consider: those saves may be so frequent, and the amounts so small, that measurement will be not worthwhile.


I toyed with SQLite Database Browser to browse the item-info.db database for the peer that seems to be my local Mac. As I suspected, the app could browse only whilst the system was not using the database – within two seconds of using Preview to edit an Untitled.png in iCloud, I could no longer browse the database … and so on.


iCloud Design Guide

Mac App Programming Guide: The Core App Design:

  • That's pretty good, thanks. The command you give doesn't produce particularly user-friendly output (and doesn't really address insync/out-of-sync state, upload/download state, etc.), but it's closer than anything else so far. Oct 24 '12 at 15:12
  • Thanks – in theory we might do more with DTrace-based commands such as iosnoop but not all things DTrace-related work perfectly on OS X. I, too, am curious about the things that are not covered by this answer. Oct 26 '12 at 1:19

There are no built-in OS X tools designed explicitly for showing you iCloud synchronise information.

As of OS X 10.8.2, Apple has not made this information public. Unless Apple publish OS X Application Programmer Interfaces (APIs) to provide the information you seek, no third party will be able to accurately provide the synchronisation details.

Given this, please give Apple's iCloud team feedback; let Apple's engineers know what you want and why.

While you wait, you can track connections to Apple's iCloud servers, measure traffic flow, and disk access. These metrics will provide some insight but they will not provide expected durations or percentage complete measures.

To explore the data flow, explore the OS X's built-in tools like lsof and netstat.

  • 1
    Thanks for the answer. Had guessed this might be the case but I was hoping someone else had already reverse-engineered the traffic flow, built a tool, etc. Oct 21 '12 at 21:12

If you REALLY want to see what's going on, you can use tcpdump (/usr/sbin/tcpdump), which does packet capture. It'll show you the packets as they go over the network. It's not the easiest, but it's the most comprehensive way to see this data.

  • Any idea which ports should be looked at? My guess is at least 80, 443, and 5223, To include email, add 25, 587, and 993. Dec 1 '18 at 21:41

As of OS X 10.11 (if not 10.10), if you have any subfolder of your iCloud Drive open in the Finder while changing files in iCloud, and the status bar of that window is turned on, the Finder will tell you how many files are being synced and how much data has been transferred so far.

  • In OSX 10.13.6 I don't see that information in the status bar. I do see a little circle next to the finder's iCloud icon in the sidebar. I can click on that to get some information on data being transferred. Dec 1 '18 at 21:37
  • See screenshot -- the status bar (⌘-/ to show) running along the bottom of the window should display the progress of syncing with iCloud, as long as you're in any Finder window that falls within the hierarchy of your iCloud Drive folder. Dec 2 '18 at 23:07
  • It appears that images won't embed in comments, but see i.imgur.com/deKecx9.png Dec 2 '18 at 23:18

Running the following in Terminal seems to do the trick for me:

lsof | grep "Photos Library.photoslibrary/private/com.apple.cloudphotosd/CloudSync.noindex/Engine/filecache"

The lsof command results in this:

cloudd    11237 carl   10r     REG                1,4   3009775 1460206 /Users/carl/Pictures/Photos Library.photoslibrary/private/com.apple.cloudphotosd/CloudSync.noindex/Engine/filecache/AYX/cplAYX8CMwjKIhIUqNRCwXobzKHe9iC.jpeg
cloudd    11237 carl   21r     REG                1,4   2465075 1460208 /Users/carl/Pictures/Photos Library.photoslibrary/private/com.apple.cloudphotosd/CloudSync.noindex/Engine/filecache/ATL/cplATLqV8CAvtA70qoJqZ21PimnEIPe.jpeg

just issue it again (up arrow and press return) and you should see it change.

  • Where are you running this command? What does the output look like? Apr 21 '15 at 12:59
  • From the terminal.
    – biffom
    Apr 21 '15 at 14:13
  • 1
    You do not need to cd ~/Pictures. not sure why patrix edited that in?
    – biffom
    Apr 21 '15 at 14:16
  • You are right, misread your intend. OTOH, you can edit your answer to add additional content, no need to post a second one.
    – nohillside
    Apr 21 '15 at 14:47

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .