Отключение SELinux
без перезагрузки не возможно. Но я думаю, что сделать это в разрешительном
режиме будет насыщенным вашим требованием.
Выход из сестатуса
показывает, что SELinux
включен, но также показывает, что он находится в разрешительном
режиме, что вы только что сделали с командой setenforce
.
pv
не знает о состояниях питания системы. Все, что он видит, - это то, что часы в какой-то момент сильно изменились.
Я предполагаю, что pv
не заботится о том, станет ли количество времени между двумя показаниями часов внезапно большим, и просто рассчитывает пропускную способность на основе временного интервала. Поскольку интервал очень велик, кажется, что пропускная способность очень низкая.
Расчет пропускной способности усредняется по количеству считываний часов (около 5 минут в ваших наблюдениях). Пока рассматриваемый интервал включает время, проведенное в приостановке, расчетное значение пропускной способности будет очень низким. Как только интервал снова будет состоять только из времени бодрствования, пропускная способность вернется к ожидаемой.
Например, предположим, что вы отстранены на 5 минут. Затем сразу после возобновления pv
вычисляет, что за последние 5 минут было передано 500 КБ, что означает пропускную способность всего около 1,7 КБ / с. Это намного ниже порога в 500 КБ, поэтому pv
на время передает больше данных для компенсации. В конце концов расчет пропускной способности снова стабилизируется.
Приостановка системы не похожа на приостановку процесса pv
. Приостановка системы прозрачна для программ. При приостановке процесса ему посылается сигнал SIGCONT, когда он просыпается. pv
имеет обработчик сигнала для SIGCONT, который заставляет его более или менее вычитать время, в течение которого он был приостановлен (я не проверял, что именно он делает, если он был приостановлен с неуловимым сигналом SIGSTOP, но этого не должно быть '' t вызвать слишком большое возмущение, в отличие от системы подвески).
В подобном сценарии, где наиболее важным фактором является обеспечение того, чтобы мы оставались ниже лимита, вы можете попробовать эту альтернативу - cstream (здесь выводится сводка пропускной способности каждые 2 минуты):
cstream -t -512k -T 120
Параметр пропускной способности, допускающий отрицательное число, кажется, предназначен для этой ситуации:
-t num Limit the throughput of the data stream to num bytes/second.
Limiting is done at the input side, you can rely on cstream not
accepting more than this rate. If the number you give is posi-
tive, cstream accumulates errors and tries to keep the overall
rate at the specified value, for the whole session. If you give
a negative number, it is an upper limit for each read/write
system call pair. In other words: the negative number will
never exceed that limit, the positive number will exceed it to
make good for previous underutilization.
Работает с приостановкой как процесса, так и системы.