Why does Google Chrome mount and unmount a volume every few hours?

I'm assuming it's part of the 'check for updates' process, but does anyone know how this is controlled and what it's mounting and unmounting?

I first discovered this behavior after updating Growl, and I ran HardwareGrowler to see what it did (it was a slow afternoon) and it's kind of neat to see what hardware is connected at any given time, and watching what happens when I plug in various USB peripherals, etc. I know, I have a severely deficient view of entertainment. After amusing myself with this for about 5-10 minutes, I returned to my work.

Some time after this, I spotted out of the corner of my eye a Growl message that said 'Volume Mounted Google 8.0.0 (something)' And just as quickly 'Volume Unmounted Google 8.0.0 (something)'. I didn't get time for screen shots, it appeared and disappeared within seconds.

Has anyone else noticed this and is the explanation for it posted somewhere online? Apparently there's some helper process that's running that's doing it, but I don't see anything in Activity Monitor with Google or Chrome in the name. I'm not a process-killing weenie, I'm just curious about this behavior I'd never noticed before.


Solution 1:

Apparently there is a Google Software Update process that is queued to run periodically, which is why it's not always there. (I couldn't grab a screenshot of it, it was too sneaky). It's not just for Chrome, but for Google Earth and Picasa too. It was a bit of a breadcrumb hunt finding info about it.

I think the Google updater isn't a proces that runs all the time, but a launchd job that runs when you boot and every so often after that. Google com.google.keystone.user.agent and you'll find a number of explanations of what they've done (and how to get rid of it if you want).

charlie (Apple Discussions)

From Google's Help Page:

Google Software Update is a background application for the Mac OS that helps ensure that you always have the most up-to-date, stable, and secure versions of the Google software you have installed. Google Software Update may run two services: GoogleSoftwareUpdateAgent and GoogleSoftwareUpdateDaemon. These services allow Google applications to be safely and securely updated.

I couldn't find, and I'm not aware of any reason it mounts a partition, but it's probably either:

  • A bunch of information about which updates are available and for what apps
  • Updates for products, Google Chrome updates are quite regular
  • An Update for the Updater

Ah the endless mysteries of HardwareGrowler. Entertainment for the whole family!

Solution 2:

I don't have an answer, but I do know how you can get one.

Mount and unmount a volume probably is the software attaching something.

What software?

GoogleSoftware update. ( /Library/LaunchAgents/com.googlecode.keystone or something)

Might be in /System/Library, might be in LaunchDaemons. Whatever it is, it is the automatic software updater.

Automatic updates are IMHO, a terrible idea. I can buy crap online with my credit card, but suddenly I'm too stupid to even bother trying to get to agree about an update? Come on!

Don't worry, Google still resolves searches, even when you catch their trojan, because that's what you call applications that download undisclosed software without warning, in action.

Does it tell you "Ohai, just downloaded 2 gigs of updates, including your new CALEA package"?

Most likely not.

Anyway, I'd get on this because DTrace may not work this well by fall.

GoogleSoftwareUpdate is launched from all over your system.

 mdfind Keystone   # This used to be a shell script.  Now it's compiled.

 mdfind -name keystone  # Good bye Page Rank on my future seo project :(

Repeat that with GoogleSoftwareUpdate as the search term.

Tighten up that tinfoil hat!

locate.updatedb    #run as root sudo zsh if you are hip, sudo $JUNK if not

You can build slocate via macports or use the installed locate as well if you want to check your results.

I would index my entire drive first.

File System API ( similar to spotlight )

man fs_usage(1)    # fs_usage -f filesys

man sc_usage(1)    # These facilities use the filesystem api

DTRace (oh so good, DTrace is!)

Tcl_CommandTraceInfo(3), Tcl_TraceCommand(3), Tcl_UntraceCommand(3) - monitor renames and deletes of a command
Tcl_CommandTraceInfo(3tcl), Tcl_TraceCommand(3tcl), Tcl_UntraceCommand(3tcl) - monitor renames and deletes of a command
bitesize.d(1m)           - analyse disk I/O size by process. Uses DTrace
cpuwalk.d(1m)            - Measure which CPUs a process runs on. Uses DTrace
creatbyproc.d(1m)        - snoop creat()s by process name. Uses DTrace
dappprof(1m)             - profile user and lib function usage. Uses DTrace
dapptrace(1m)            - trace user and library function usage. Uses DTrace
diskhits(1m)             - disk access by file offset. Uses DTrace
dispqlen.d(1m)           - dispatcher queue length by CPU. Uses DTrace
dtrace(1)                - generic front-end to the DTrace facility
dtruss(1m)               - process syscall details. Uses DTrace
errinfo(1m)              - print errno for syscall fails. Uses DTrace
execsnoop(1m)            - snoop new process execution. Uses DTrace
fddist(1m)               - file descriptor usage distributions. Uses DTrace
filebyproc.d(1m)         - snoop opens by process name. Uses DTrace
hotspot.d(1m)            - print disk event by location. Uses DTrace
httpdstat.d(1m)          - realtime httpd statistics. Uses DTrace
iofile.d(1m)             - I/O wait time by file and process. Uses DTrace
iofileb.d(1m)            - I/O bytes by file and process. Uses DTrace
iopattern(1m)            - print disk I/O pattern. Uses DTrace
iopending(1m)            - plot number of pending disk events. Uses DTrace
iosnoop(1m)              - snoop I/O events as they occur. Uses DTrace
iotop(1m)                - display top disk I/O events by process. Uses DTrace
kill.d(1m)               - snoop process signals as they occur. Uses DTrace
lastwords(1m)            - print syscalls before exit. Uses DTrace
loads.d(1m)              - print load averages. Uses DTrace
newproc.d(1m)            - snoop new processes. Uses DTrace
opensnoop(1m)            - snoop file opens as they occur. Uses DTrace
pathopens.d(1m)          - full pathnames opened ok count. Uses DTrace
pidpersec.d(1m)          - print new PIDs per sec. Uses DTrace
plockstat(1)             - front-end to DTrace to print statistics about POSIX mutexes and read/write locks
priclass.d(1m)           - priority distribution by scheduling class. Uses DTrace
pridist.d(1m)            - process priority distribution. Uses DTrace
procsystime(1m)          - analyse system call times. Uses DTrace
runocc.d(1m)             - run queue occupancy by CPU. Uses DTrace
rwbypid.d(1m)            - read/write calls by PID. Uses DTrace
rwbytype.d(1m)           - read/write bytes by vnode type. Uses DTrace
rwsnoop(1m)              - snoop read/write events. Uses DTrace
sampleproc(1m)           - sample processes on the CPUs. Uses DTrace
seeksize.d(1m)           - print disk event seek report. Uses DTrace
setuids.d(1m)            - snoop setuid calls as they occur. Uses DTrace
sigdist.d(1m)            - signal distribution by process. Uses DTrace
syscallbypid.d(1m)       - syscalls by process ID. Uses DTrace
syscallbyproc.d(1m)      - syscalls by process name. Uses DTrace
syscallbysysc.d(1m)      - syscalls by syscall. Uses DTrace
topsyscall(1m)           - top syscalls by syscall name. Uses DTrace
topsysproc(1m)           - top syscalls by process name. Uses DTrace
weblatency.d(1m)         - website latency statistics. Uses DTrace

This seems excessive, but once I took a casual look inside of my Safari cache directory, and it's just not cool.

By the way, those gigs of data were for the 'top sites' function.

You'd call them 'pictures of the websites I went to' although they use the term 'thumbnails'

I don't know why they want pictures of porn sites ( Safari has gotten so bad I benched it, it's my porn browser now.) , but they got saved.

One last note.

Any google app you download starts the process. App Engine? Welcome back, Keystone or GoogleSoftwareUpdate.

Opinion:

Once I downloaded software, to do a task.

I did not change it.

I did not steal it.

Browse web pages and STFU, is what I want from it.

Nada mas.