niceload --noswap yourprg выполняется именно для этой ситуации: Он смотрит на операции свопинга:
niceload --mem 1G yourprg
работает аналогично: Если меньше 1GB свободен yourprg приостанавливается. Когда больше, 1GB свободен ваш возобновляется.
-121--41845-
Можно использовать netstat -p
для получения списка процессов с активными соединениями
-121--132921-
Да. Это довольно легко сделать практически с любой современной оболочкой.
sh -c 'ulimit -S -m "$1"
shift; exec your_command "$@"
' -- some_size args
Для ограничения объема заблокированной памяти можно использовать параметр -l
. При превышении лимита будет выдан сигнал о выполнении процесса.
Примерно так и происходит:
dd
не имеет аргумента of=...
, поэтому она отправляет данные на стандартный вывод. /dev/sda
)содержит много разных данных, и там наверняка есть какие-то управляющие последовательности терминала по чистой случайности. Итак, вы отправляете на терминал множество текстовых и управляющих последовательностей, и он добросовестно пытается их отобразить и интерпретировать.
Как сказал Лукас, это происходит потому, что случайные данные просто содержат коды управления терминалом.
Чтобы это исправить, выполните команду:
reset