18

On startup, Dropbox runs files indexing, which brings the system pretty much to a stand still for three minutes.

Is there a way to restrict Dropbox from accessing the hard disk, or decrease the priority of Dropbox's access to the hard disk?

3
  • You may be experiencing a Dropbox bug. (I'm not saying this question is off-topic, I'm just pointing out something you might want to consider.)
    – Flimm
    Feb 7, 2013 at 22:21
  • 2
    @Flimm: No, this is just how Dropbox works. It has to calculate a hash of all your files to check if they need to be synchronised. For me with 22 Gb and a slow processor it takes a couple of minutes. I have a SSD so this is clearly processor bound to me, but if OP has a slow hard disk it could be possible that he is i/o bound. Feb 8, 2013 at 8:05
  • If its interfering with your system startup you can always set dropbox up to start a bit later. See here for more information.. May 19, 2013 at 21:59

5 Answers 5

13

Complementing the answer of Carlos D. Barranco, you can edit the launcher file located in /usr/share/applications/dropbox.desktop and permanently set a low priority start for dropbox.

In my case, it was also useful to limit the processor usage of dropbox. You can install package cpulimit: # apt-get install cpulimit

For example, to limit dropbox up to 20% processor usage: # cpulimit -b -e dropbox -l 20

In order to configure both low IO and low processing for dropbox automatically with the system launch, edit /usr/share/applications/dropbox.desktop and replace dropbox start -i by ionice -c 3 dropbox start -i && cpulimit -b -e dropbox -l 20

Command ionice will set idle priority for IO access and the parameter -l of cpulimit configures the processing limit in percentual values. More information on cpulimit can be found in: http://www.nixtutor.com/linux/changing-priority-on-linux-processes/

5

The right command is the following:

ionice -c 3 dropbox start -i

But you have to be careful and deactivate dropbox check box "Start dropbox on system startup" in dropbox config. Otherwise, dropbox will restore the command in the config file to "dropbox start -i" (without ionice call).

Hope this helps.

3

Running Kubuntu 14.04, the above suggestions did not work. I came up with this one and it solved this problem for me on my Lenovo T510.

In the file /usr/share/applications/dropbox.desktop, change the Exec line to read:

Exec=ionice -c 2 -n 7 dropbox start -i

Watching iotop, dropbox gets 99% of the CPU ONLY when no other process wants some time. It shares the hard drive with other processes by lowering it's demand level.

2

You propably have encrypted home directory? Decrypting all the files on your Dropbox folder takes time and all your CPU capacity (I have the same problem). Switching dropbox process to low priority has the desired effect of un-jamming the computer and syncing still working fine.

I just don't know how to automatically always start Dropbox with lower prioirty.

1

Maybe a complex solution, but it should work and resolve your problem:

Setup a file system in your system’s memory (tmpfs) and set that as your Dropbox folder. (Anything under /run/ will do this automatically.) It is temporary and will be deleted when you reboot! So you should setup something like a cron-job to periodically synchronize this location to a persistent folder in your home folder.

Update: This article disuses this method for browser profiles.

Alternatively, ionice will let you set the process priority to the file system. It could actually be more complicated to maintain and I am not even sure it does what you want.

5
  • ionice (and System Monitor, for that matter), do let you modify the priority of a process, but I don't think it affects the priority of a process' I/O to the hard disk. I may be wrong.
    – Flimm
    Feb 7, 2013 at 22:19
  • On the other hand, the OP's real problem probably isn't access to the hard disk :P
    – Flimm
    Feb 7, 2013 at 22:22
  • Downvote: This looks dangerous to me. When Dropbox found an empty folder it could understand it two ways: it can believe that you deleted all your files and delete them from the cloud and other computers (you could recover then using the web interface) or it can start downloading all the files again from the web wasting bandwidth. Feb 8, 2013 at 8:30
  • @JavierRivera I am a n00b to shell script writing, but I found snippets that should make it work. adding pidof dropbox sudo ionice -c3 -p$$ in /etc/rc.local can somebody fill in the blanks?! and tell me if this should work. inspired from this blog
    – aiao
    Feb 8, 2013 at 13:48
  • 1
    Good idea. This is not going to work in rc.local as dropbox is likely not going to be started then. But editing ~/.config/autostart/dropbox.desktop to use ionice could. You should add this as an answer. Feb 8, 2013 at 15:09

You must log in to answer this question.

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