I’m looking through PhotoStructure’s config to learn more about it before installing it.
I’d like to install it on a VPS. The VPS has 16 GB RAM and three cores but only has 100% dedicated CPU, not 300%, meaning I should try to keep sustained CPU usage below ~33% overall (spikes are OK but running all three cores at 100% constantly will get me flagged for high CPU usage by the provider).
I see that PhotoStructure has a cpuLoadPercent
setting:
# +––––––––––––––––––+
# | cpuLoadPercent |
# +––––––––––––––––––+
#
# PhotoStructure runs many things in parallel during library synchronization.
# The maximum number of concurrent file imports that PhotoStructure will
# schedule at a time will be the number of CPUs that this system has
# multiplied by this percent. A higher value here will allow PhotoStructure to
# run more tasks in parallel, but may impact your system's responsiveness. 75%
# should be a reasonable balance between keeping your system responsive and
# importing your library quickly. Setting this value to 0 will still allow 1
# task to run concurrently. System memory will also be taken into account to
# try to prevent swapping.
#
# Min value: 0
# Max value: 200
#
# PS_CPU_LOAD_PERCENT="75"
Would setting this to 33
would do what I want?
Based on the comment, it sounds like this actually controls the total number of parallel tasks executed, and doesn’t actually set a cap on CPU usage? For example, setting it to 25
would be no different to setting it to 30
if I have three cores? If that’s the case, wouldn’t it be clearer to express this as a number of tasks rather than a percentage?
If I’m worried about CPU usage for the initial import, I guess I could index everything on my desktop PC, then rsync
everything to my VPS?