2

Вот ситуация:

Я обрабатываю изображения, преобразовываю их из tif в ecw и перепроектирую их.

Программное обеспечение, которое я использую, использует один процесс, и кажется, только одно ядро. Когда я запускаю пакетную операцию, я вижу только 13% используемого процессора.

Мои спецификации следующие:

i7 3770K 16 ГБ оперативной памяти 2 ТБ sata 7200 HD

Программа обрабатывает файл за файлом, и у меня есть около миллиона файлов для преобразования.

Чтобы повысить эффективность, я разделил все файлы на 8 папок и запустил пакетные операции отдельно. Таким образом, я могу использовать процессор на 100%.

Поскольку каждый процесс также читает файл и записывает новый, я боялся, что может возникнуть проблема с вводом / выводом, но, насколько я понимаю в диспетчере задач, это не проблема? (Точно сказать не могу)

У меня вопрос, это лучший путь? Я на самом деле замедляю себя, выполняя 8 партий, или я должен бежать еще больше?

Благодарю.

АТТ. диспетчер задач:1234

2 ответа2

3

Если используемая вами программа изначально не поддерживает многопоточность, и всю работу выполняет только один поток (в данном случае преобразование изображения), то вы увидите, что используется примерно 1/8 используемого процессора (или 12,5). %) в лучшем случае.

Действительно, если это так, вы можете достичь гораздо более высокой пропускной способности, порождая несколько из этих процессов параллельно, предполагая, что они не выполняют слишком много операций ввода-вывода на диске (на что влияет одновременный доступ к нескольким файлам) - но в предоставленный вами снимок экрана выглядит так, как будто задачи ограничены ЦП, а не диском; ни один процесс не идет со скоростью чтения / записи более 0,5 МБ / с.

Просто отметьте, что в вашем конкретном случае это также приведет к тому, что среднее использование ОЗУ для программы увеличится в восемь раз, поэтому вам может потребоваться меньше работать, если использование памяти становится ограничивающим фактором. Если вы обнаружите, что работа вашей системы становится слишком медленной, вы также можете настроить процессы на более низкий приоритет.

0

Глядя на эти графики, я согласен с Аароном Миллером в том, что похоже, что теперь это скорее узкое место ЦП, чем узкое место ввода-вывода. Я бы сказал, чтобы удалить пакеты, чтобы вы были не более 90% загружены на ЦП, и вы должны быть хорошими. Пропускная способность на диске выглядит хорошо, хотя это время отклика ужасно, но единственный способ действительно помочь - это запустить меньше пакетов или распределить работу по нескольким дискам (которых у вас, похоже, нет).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .