выполнение исполняемого файла параллельно путем деления входного дерева каталогов

большинство ps s теперь включают древовидную опцию или очень точно связанную с именем утилиту, ptree.

Поскольку моя существующая система работы не имеет B-дерева, я в настоящее время использую

ps fauw 

Я думаю, что у меня также был a

ps taux (t making more sense than f)

Наконец некоторый PS имеет опции также включать потоки программ в представление.

В то время как это не автоматическое решение, Вы (и I) пожелали бы, мой опыт состоит в том, что там появляется список 'вероятных подозреваемых' в деревьях процесса и просто сканирование дерева, можно часто предполагать, где проблема.

IHTH

1
13.09.2017, 02:53
3 ответа

GNU xargs имеет a -P команда для этого.

find . ... -print0 | xargs -r0P4 -n10 some-command

Дойдет 4 some-commands за один раз максимум с 10 файлами как аргумент.

2
27.01.2020, 23:28

На самом деле команды как find и grep почти всегда IO-bound: диск является узким местом, не ЦП. В таких случаях, если Вы выполняете несколько экземпляров параллельно, они будут конкурировать за пропускную способность средств ввода-вывода и кэш, и таким образом, они будут медленнее.

С командой, которая более интенсивна ЦП, или в редких случаях (например, очень быстрый RAID-1, который не в других отношениях занят вместе с медленным ЦП), можно использовать инструменты, такие как параллель GNU или -P опция последних версий GNU xargs.

Предполагая, что имена файлов не содержат новые строки, следующие команды вызывают cpu_intensive_command на каждом файле в свою очередь, с двумя параллельными потоками:

find -type f | xargs -I {} -P 2 cpu_intensive_command {}
find -type f | parallel -X --number-of-cpus=2 cpu_intensive_command {}

Альтернативная стратегия состоит в том, чтобы разделить работу на две части, которые Вы оцениваете, приблизительно равны. Это не требует никаких необычных инструментов, но не балансирует задания между процессорами.

cpu_intensive_command [a-m]* &
cpu_intensive_command [!a-m]*
wait
1
27.01.2020, 23:28

Обход через учебное руководство Параллели GNU: http://www.gnu.org/software/parallel/parallel_tutorial.html и смотрит вводные видео: https://www.youtube.com/playlist? list=PL284C9FF2488BC6D1

0
27.01.2020, 23:28

Теги

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