Использование cgroups и nice для одного и того же процесса -Имеет ли значение порядок? Каков правильный синтаксис?

Глядя на предоставленный вами код, кажется, что вы хотите иметь возможность отобразить файл в файловой системе обратно на физический диск, на котором он находится. Кажется, не рассматриваются RAID, LVM или зашифрованные файловые системы.

Следующий код напечатает дисковое устройство (s ), содержащее указанный файл. Для RAID и LVM файл может присутствовать более чем на одном устройстве; в этой ситуации будут напечатаны все соответствующие имена дисковых устройств, по одному в строке.

read -p 'Filename: ' file
devpart=$(mount | awk -v mount=$(stat --format '%m' "$file") '$3 == mount {print $1}')
lsblk --list | awk -v part="${devpart/#*\/}" '$6 == "disk" {disk = $1} $6 != "disk" && $1 == part {print disk}'
1
21.09.2020, 12:53
1 ответ

Обе команды являются подготовительными командами, выполняющими -следующую команду с сохранением измененного свойства. Таким образом, порядок здесь не будет иметь значения, пока измененные свойства не будут иметь побочного эффекта, изменяющего другие (, это нормально для этих двух ).

cgexec -> nice -> final executable

переместит следующий процесс niceдля выполнения в соответствующую контрольную группу , а niceизменит качество конечного исполняемого файла (при сохранении контрольной группы ).

nice -> cgexec -> final executable

изменит правильность следующего процесса cgexec, а cgexecпоместит окончательный исполняемый файл в соответствующую контрольную группу (, сохранив при этом правильность ).

Обе команды дадут одинаковый результат. Оба свойства(cgroup и niceness)автоматически распространяются на всех потомков следующего процесса. Таким образом, все, что порождено из prependPollen.py, будет в процессоре :фоне и также будет иметь измененную привлекательность.

Любая другая подобная команда может быть вставлена ​​в любом месте этого конвейера. Например, ionice -c 3 можно добавить на первое, второе или 3-е место, чтобы попытаться ограничить влияние ввода-вывода программы python на другие процессы (, в то время как существуют также cgroups , делающие это лучше. для этого обычно требуется cgroups v2 для правильной работы ).

1
18.03.2021, 23:03

Теги

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