Вероятно, Вы сталкиваетесь с пределами ресурса. Например, процессорное время. Попробовать ulimit -a
проверять. Если это - только мягкий предел, установленный в сценарии входа в систему затем можно зафиксировать его с, например, ulimit -t unlimited
. Если это - жесткий предел, как установлен, например, для обычных пользователей на OpenBSD и другом OSs, то необходимо будет переопределить.
Вы можете использовать селектор u32
, как указано в следующем примере, взятом из этой страницы . Я показываю здесь только интересующую строку.
match u32 00000016 0000ffff at nexthdr+0
Этот пример соответствует значению 0x16 для порта назначения (третий и четвертый байты от начала заголовка TCP).
Это всего лишь пример, чтобы понять, как это можно сделать на основе порта назначения.
Ага, linux / tc может делать то, что вам нужно, tc позволяет настраивать фильтры для сопоставления трафика на широком уровне, вы также можете использовать iptables для маркировки пакетов и сопоставления по этим меткам . Однако если вы пытаетесь сопоставить любой сетевой трафик для определенного приложения, это становится сложнее. Я бы порекомендовал запустить процесс от имени выделенного пользователя и использовать совпадение владельца iptables, чтобы пометить эти пакеты для QoS, тогда tc можно будет использовать для этих тегов.