Можно использовать iptables
для маркировки пакета (-изодромный с предварением владелец...) затем используйте tc
сформировать трафик. Также "-sid-владелец" может использоваться для включения потоков и детей того процесса.
http://www.frozentux.net/iptables-tutorial/iptables-tutorial.html#OWNERMATCH
Соответствие - изодромный с предварением владелец
Ядро 2.3, 2.4, 2.5 и 2.6
Пример iptables-A ПРОИЗВЕЛ-m владельца - изодромный с предварением владелец 78
Объяснение Это соответствие используется для соответствия пакетам на основе идентификатора Процесса (PID), который был ответственен за них. Это соответствие немного более трудно использовать, но один пример был бы только, чтобы позволить PID 94 отправлять пакеты от порта HTTP (если Процесс HTTP не является поточным, конечно). Кроме того, мы могли записать маленький сценарий, который захватывает PID от вывода PS для определенного демона и затем добавляет правило для него. Для примера у Вас могло быть правило как показано в примере Pid-owner.txt
Одна опция, которую я просто обнаружил, состоит в том, чтобы использовать струйку.
струйка является портативным легким формирователем пропускной способности пространства пользователя. Это может работать в совместном режиме (вместе с сочившимся) или в одиноком режиме.
сочитесь работы путем использования в своих интересах предварительно загружающего загрузчика Unix. По существу это обеспечивает, к приложению, новой версии функциональности, которая требуется, чтобы отправлять и получать данные через сокеты. Это затем ограничивает трафик на основе задержки отправки и получения данных по сокету. сочитесь работает полностью в пространстве пользователя и не требует полномочий пользователя root.
Я использую rsync с - bwlimit=KBPS опция по той же причине.
Наш 1 Ethernet Gbit легко может затопить наш старый SCSI320 DAS RAID и по существу некоторые наши более старые производственные поля DOS, которые полагаются на него для его хранилищ NFS.
Если можно записать в канал (или stdout), можно установить pv
(передайте средство просмотра по каналу), команда. Это было первоначально записано для отображения прогресса данных, переданных через канал.
tar cvf - /files/to/backup | pv -L 512k > /your/file/on/sshfs
-L RATE, --rate-limit RATE
Limit the transfer to a maximum of RATE bytes per second. A
suffix of "k", "m", "g", or "t" can be added to denote kilobytes
(*1024), megabytes, and so on.
ssh my-remote-server bash -c "'find / -xdev|cpio -o|gzip -c1'"|pv --rate-limit 1M > my-remote-root.cpio.gz
.
– clacke
14.11.2012, 10:45
ssh my-remote-server ionice -c3 bash -c "'find / -xdev|cpio -o|gzip -c1'"|pv --rate-limit 1M > my-remote-root.cpio.gz
– clacke
14.11.2012, 10:47
Как Вы передаете данные? (rsync по ssh? scp? sftp? что-то еще?)
rsync позволит Вам ограничивать пропускную способность (см. опцию - bwlimit=KBPS). rsync-e ssh - bwlimit..
С другой стороны, Вы могли установить qdisc или эквивалентный, чтобы сделать необычное ограничение уровня, но я подозреваю, что в Вашем случае это было бы серьезным излишеством. Документация относительно этого доступна в ПРАКТИЧЕСКОМ РУКОВОДСТВЕ Расширенной маршрутизации и Управления трафиком Linux
--pid-owner processid
Соответствия, если пакет был создан процессом с данным идентификатором процесса". linux.die.net/man/8/iptables – Ajedi32 22.04.2016, 18:38iptables -A OUTPUT -m owner --pid-owner 78
пример, кажется, не завершен (поскольку он только соответствует пакетам, он не говорит, как "отметить" их), иtc
не объяснен вообще. – Ajedi32 22.04.2016, 18:45-j MARK --set-mark 1
. Для получения дополнительной информации см.: wiki.archlinux.org/index.php / … – Mircea Vutcovici 14.07.2016, 21:30