Действительно ли открытие является новой вкладкой в окне терминала, эквивалентном открытию новой вкладки с точки зрения ресурсов?
Я должен запустить 16 скриптов параллельно. Я не знаю, являются ли вводные вкладки или новые терминалы лучшей практикой. Я хочу получить максимальную производительность, но не исчерпывая ресурсы до степени, которая ухудшает производительность.
Это никогда не полностью эквивалентно с точки зрения ресурсов (я принимаю системные ресурсы), потому что окно отличается, чем вкладка. Будет ли для 16 окон или вкладок это иметь какое-либо практическое/релевантное значение, другой вопрос. Конечно, можно протестировать.
Существуют другие способы сохранить ресурсы. Можно также выполнить единственный терминал и выполнить 16 процессов в фоновом режиме. Все же (намного) лучше с точки зрения сохранения ресурсов должен постараться не выполнять графический сервер все вместе. Имейте начальную загрузку системы к терминалу и выполните процессы туда. Это сохранит Вас несколько сотен мегабайтов RAM для запуска с.
Различие чрезвычайно минимально и маловероятно иметь значение в Вашем варианте использования (принимающий относительно текущие аппаратные средства), хотя действительно кажется, что терминальный сервер гнома использует немного меньше памяти для вкладок, чем для окон. Это легко видеть в Системном мониторе.
Четыре выставочных использования памяти Windows, подобные этому:
Четыре Вкладки показывают использование памяти, подобное этому:
О ресурсах, используемых окнами/вкладками
Интуитивно и как Старший Фанат, измеряемый в его ответе, вкладки должны использовать меньше памяти.
Различие, не действительно значительное, даже, абсолютное значение не является значительным в сегодняшних компьютерах. Вещью, о которой необходимо заботиться, является время для печати текста в терминале.
Пример с числами
Давайте примем простое управление: find test
. Это распечатает название всех файлов в test
каталог. Этот каталог содержит 55 483 файла, чтобы в общей сложности 4 935 616 символов были записаны в терминале.
Вот то, как я имею размеры, время протекло, с помощью time
команда:
time find test
...
**** lot of printed chars
...
real 0m5.017s
user 0m0.175s
sys 0m0.221s
Этот тест занял 5,0 секунд, теперь вот некоторые результаты испытаний:
+---------------------------+-------------------------------------------+--------------+
| Command | remarks | duration |
+---------------------------+-------------------------------------------+--------------+
| find test | terminal | 5.1 seconds |
| find test | terminal (hidden behind another window) | 5.5 seconds |
| find test | terminal (minimized) | 5.5 seconds |
| find test > /tmp/test.txt | output redirected to a file | 0.1 seconds |
| find test | text console | > 10 seconds |
| find test | text console, switched to another console | 0.3 seconds |
+---------------------------+-------------------------------------------+--------------+
Я не буду больше делать теста, я думаю, что Вы поняли.
Заключение
Производительность Ваших сценариев будет также зависеть того, сколько они пишут в терминал.