cpulimit на самом деле не ограничивает использование ЦП

Вы не можете установить жесткую связь между FS, вам потребуются символические ссылки.

Something like a hard link of to the WWW and USR directories on the hard drive or second USB disk, as well as VM and other partitions.

В любом случае, вы можете попробовать правильно разбить USB-накопитель с помощью grub и сделать его активным и основным, а dd или что-то в этом роде для рабочих установочных томов на другом разделе USB-накопителя. в части связывания вам нужно будет убедиться, что устройства всегда распознаются одинаково, и отредактировать файл fstab, чтобы каталоги «usr» и «www» указывали на другие USB-накопители с томами на них с данными. Jist - это мобильная ОС, это уже возможно, но подразделение, о котором вы говорите, может быть сложным

1
27.11.2019, 18:30
2 ответа

По умолчанию cpulimitне ограничивает дочерние процессы, поэтому rsyncвообще не ограничивается. Если вы используете достаточно новую версию cpulimit, вы должны иметь возможность использовать опцию--include-children(или -i). (См. также этот ответ .)

$ cpulimit -h
Usage: cpulimit [OPTIONS...] TARGET
   OPTIONS
      -l, --limit=N          percentage of cpu allowed from 0 to 400 (required)
      -v, --verbose          show control statistics
      -z, --lazy             exit if there is no target process, or if it dies
      -i, --include-children limit also the children processes
      -h, --help             display this help and exit
   TARGET must be exactly one of these:
      -p, --pid=N            pid of the process (implies -z)
      -e, --exe=FILE         name of the executable program file or path name
      COMMAND [ARGS]         run this command and limit it (implies -z)

Report bugs to <marlonx80@hotmail.com>.

Это изменит вашу запись cron на:

00 16 * * * /usr/bin/cpulimit --include-children --limit 20 /bin/sh /media/storage/sqlbackup/backups.sh

РЕДАКТИРОВАТЬ :Поскольку OP сам ответил (), он будет работать cpulimitна команды rsyncвнутри скрипта, но это не гарантирует, что ваш скрипт будет хорошим, пока он работает другие функции. Например, если сценарий должен обрабатывать массивный каталог, он может привести к зависанию системы и вызвать всплеск загрузки ЦП и предупреждение.

6
28.01.2020, 02:13

Я решил, что более разумным решением будет вызов cpulimitнепосредственно для процесса rsync, который находится в сценарии. Это исправило мою проблему.

-1
28.01.2020, 02:13

Теги

Похожие вопросы