Производительность tar -xf (зависит от размера блока)

Можно найти мелкий инструмент названным sendxkeys здесь. Используя это необходимо смочь ввести нажатия клавиш в X-сервер. После компиляции его я предполагаю это

./sendxkeys :0 64 37 58

вставил бы ALT+CTRL+M в Ваш X-сервер, работающий демонстрирующийся :0 (Я могу быть неправ относительно точных кодов клавиши хотя). Это может затем легко использоваться в сценарии, например, чем-то как:

/path/to/your/application & # the & is to start in background
sleep 1 # wait a short while so that the application is running
/path/to/sendxkeys :0 64 37 58 # may need other keycodes

2
25.06.2015, 03:12
2 ответа

Опция -b в tar использовалась для управления записью tar размера блока на устройство, так что это именно то, что вам нужно. Но -b 512 относительно ручной страницы tar(1) означает размер блока 512*512 = 262144. Все размеры блоков действительны, что ваше устройство, в которое вы записываете вывод tar, может выдержать. В истории это было необходимо для разных ленточных накопителей, для которых команда tar была изначально написана.

2
27.01.2020, 22:05

Все реализации tar, кроме star , имеют проблемы с производительностью, которые решаются с помощью FIFO , встроенного в звезду с 1990 года.

Star по умолчанию создает 8MB FIFO, который помогает повысить производительность, потому что звезда также разделяется на два процесса. Один процесс читает архив, а другой выполняет задачу извлечения tar . Если вы работаете в современной ОС и используете современное ленточное устройство, я рекомендую указать больший размер FIFO до половины физической памяти машины. См. Параметр звездочка fs = . Для современных ленточных накопителей я рекомендую fs = 256M или больше. Это значительно снижает обычные проблемы износа ленты из-за изменения положения ленты, когда режим потоковой ленты невозможен.

Если вы используете настоящие ленточные устройства, вам необходимо увеличить размер блока уже во время создания. Обратите внимание, что для переносимости лент не следует использовать размер блока> 6 КБ. Если ваша локальная ОС и диск поддерживают большие размеры блоков (а не только увеличенный размер FIFO), используйте большие значения (см. Звездную справочную страницу).

Обратите внимание, что если вы используете копирование при записи файловых систем, таких как ZFS, или если вы работаете в ОС с медленной реализацией буфера файловой системы (например, Linux), вы можете переключить звездочку на небезопасный режим , доступный только с gtar . Сделайте это, добавив -no-fsync .В Solaris и ufs безопасный режим звездочки по умолчанию снижает производительность менее чем на 10%, в ZFS и медленной реализации буфера Linux этот безопасный режим снижает производительность на 400%.

1
27.01.2020, 22:05

Теги

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