Мой компьютер продолжает зависать даже при использовании другого дистрибутива

С помощью GNU Parallel вы можете сделать это:

parallel analysis.C ::: *.txt

Или если у вас очень много.txt-файлов:

printf '%s\0' *.txt | parallel -0 analysis.C

По умолчанию будет выполняться одно задание на каждый поток ЦП. Это можно настроить с помощью -j20для 20 параллельных заданий.

В отличие от решенияparallel.moreutils-вы можете постобработать вывод. :Вывод сериализуется, поэтому вы никогда не увидите вывод двух смешанных заданий.

GNU Parallel — это универсальный распараллеливатель, который позволяет легко выполнять задания параллельно на одной машине или на нескольких машинах, к которым у вас есть доступ по ssh.

Если у вас есть 32 разных задания, которые вы хотите запустить на 4 ЦП, прямой способ распараллеливания — запустить 8 заданий на каждом ЦП:

Simple scheduling

GNU Parallel вместо этого порождает новый процесс по завершении одного из них -, сохраняя активность ЦП и тем самым экономя время:

GNU Parallel scheduling

Установка

Из соображений безопасности вам следует установить GNU Parallel с помощью вашего менеджера пакетов, но если GNU Parallel не упакован для вашего дистрибутива, вы можете выполнить персональную установку, которая не требует root-доступа.Это можно сделать за 10 секунд, сделав это:

(wget -O - pi.dk/3 || curl pi.dk/3/ || fetch -o - http://pi.dk/3) | bash

Другие варианты установки см. вhttp://git.savannah.gnu.org/cgit/parallel.git/tree/README

Узнать больше

Посмотреть другие примеры:http://www.gnu.org/software/parallel/man.html

Посмотрите вступительные видеоролики:https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1

Прохождение обучения:http://www.gnu.org/software/parallel/parallel_tutorial.html

Прочесть книгу:https://doi.org/10.5281/zenodo.1146014

Подпишитесь на рассылку, чтобы получить поддержку:https://lists.gnu.org/mailman/listinfo/parallel

-2
15.06.2021, 14:21
1 ответ

По крайней мере, в Debian 10 (и, вероятно, также в Ubuntu )есть сценарии в каталоге /lib/systemd/system-sleep/, которые будут выполняться с параметром preпри переходе в спящий режим и с postпри пробуждении.

Это означает, что вы можете создать каталог /etc/systemd/system-sleep/для своих собственных настроек и поместить туда свои собственные скрипты.

Ваш скрипт может выглядеть, например, так:

Имя файла:/etc/systemd/system-sleep/workaround-script

Содержание:

#!/bin/bash

PATH=/sbin:/usr/sbin:/bin:/usr/bin

case "$1" in
        pre)    systemctl stop ckb-next-daemon.service
                # add here any other commands if needed to fully unload the CKB-Next driver
                exit 0
                ;;
        post)   systemctl start ckb-next-daemon.service
                exit 0
                ;;
        *)      exit 1
                ;;
esac
0
28.07.2021, 11:28

Теги

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