Как узнать, где находится аппаратное узкое место в моей системе при разрушении конкретной задачи

282
Roaders

Я понимаю, что уже есть несколько повторяющихся вопросов по этой теме, но все вопросы, на которые я смотрел, были связаны с общим замедлением работы компьютера. В моем случае у меня очень трудоемкая задача, и я хочу посмотреть, что я могу сделать, чтобы ускорить ее.

Рассматриваемая задача (но я ищу общие решения, не относящиеся к этой задаче) объединяет 2 видеофайла 4K вместе, чтобы сформировать одно видео 360.

Есть два этапа: сшивание и оптимизация.

Сшивание ОЧЕНЬ интенсивно использует процессор, и недавно я использовал процессор I9 с 28 потоками, который почти удвоил скорость. Теперь, когда выполняется эта часть процесса, процессор работает на уровне около 80% (ранее он был 100% все время), так что это означает, что что-то еще замедляет его. Мои 32 ГБ памяти используются только на 30%, но, возможно, это скорость памяти?

Использование диска, кажется, составляет около 1 - 2%

Использование графического процессора составляет около 30%

Я сомневаюсь, что смогу еще больше ускорить это вообще (просто для справки, сейчас требуется около часа, чтобы сшить 1 час отснятого материала)

Второй этап занимает около 2 часов для 1 часа отснятого материала и в основном создает видео с более низким разрешением, что облегчает редактирование.

На этом этапе загрузка ЦП составляет всего около 30%, и больше ничего не используется (на основе монитора ресурсов). Должно быть что-то аппаратное, что замедляет его - как я могу сказать что?

Большое спасибо

Несколько замечаний по моей системе (которые не имеют никакого отношения к ответу на этот вопрос, но я привел это здесь для полноты)

  • i9 7940X
  • 32 ГБ (2x16 ГБ) 2400 МГц
  • 2 отдельных диска M.2 (один для чтения, один для записи)
  • Nvidia GTX 1080 Ti
  • ASUS ROG STRIX X299-E GAMING
1
Какое программное обеспечение вы используете? cybernard 5 лет назад 0

1 ответ на вопрос

2
TheNerdyNerd

Вы все еще можете многое сделать, чтобы контролировать свое оборудование и сузить кругозор.

Вы не сказали, используете ли вы компьютер с Windows или какую версию ОС, но я предполагаю, что это машина с Windows 10 на данный момент.

Вы можете использовать инструмент под названием Performance Monitor (perfmon). Это позволит вам отслеживать ключевые показатели для вашей системы и на основе значений определять, где может быть ваше узкое место.

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

На самом деле найти ваши метрики - это немного искусства, и, честно говоря, у меня нет их всех под рукой, но пока попробуйте следующее:

Память | % Подтвержденных байтов в использовании: отслеживает, какой процент вашей оперативной памяти зафиксирован в данный момент («используется»). Это должно меняться, когда приложения открываются и закрываются, но если оно постоянно увеличивается, это может указывать на утечку памяти.

Сетевой интерфейс | Всего байт / с: отслеживает, сколько байтов отправлено и получено через определенный сетевой интерфейс (например, Wi-Fi или Ethernet). Если это когда-либо превысит 70% пропускной способности интерфейса, вам следует подумать об обновлении.

Файл подкачки | % Usage: отслеживает, сколько файлов подкачки вашей системы используется. Если это неизменно высокий уровень, вам следует рассмотреть вопрос об увеличении объема физической ОЗУ или, по крайней мере, увеличить размер файла подкачки.

Физический диск | % Disk Time: отслеживает, сколько времени жесткого диска затрачивается на обработку запросов на чтение и / или запись. Если это постоянно высокий уровень, вы должны рассмотреть вопрос о переходе на твердотельный накопитель.

Физический диск | % Disk Read Time: то же, что и выше, за исключением только запросов на чтение.

Физический диск | Время записи на диск%: то же, что и выше, за исключением только запросов на запись.

Процессор | % Времени прерывания: отслеживает, сколько времени тратится на обработку аппаратных прерываний вашего процессора. Если это постоянно выше 10-20%, это может указывать на потенциальную проблему в одном из ваших аппаратных компонентов.

Нить | % Процессорного времени: отслеживает, сколько возможностей вашего процессора используется отдельным потоком процесса (приложение может иметь несколько потоков). Полезно, только если вы можете определить, какой поток контролировать.

Некоторые из SQL, которые я использовал:

PhysicalDisk (_Total) \ Avg. Диск с / Чтение PhysicalDisk (_Total) \ Ср. Disk sec / Write Эти два счетчика показывают, насколько быстро ваша подсистема ввода-вывода отвечает на запросы данных из операционной системы; другими словами, латентность. Возвращаемые значения задержки действительны независимо от типа используемой подсистемы ввода-вывода, будь то локальный физический магнитный диск, диски SAN, диски NAS или твердотельные диски. Ваши значения задержки обычно не должны превышать 20 мс; если вы используете SSD, вероятно, не более 5 мс. Если вы видите значения задержки в секунду или более, ваша подсистема ввода / вывода имеет проблемы, которые необходимо устранить, чтобы поддерживать производительность на приемлемом уровне.

Система \ Длина очереди процессора Длина очереди процессораСчетчик сообщает вам количество потоков, ожидающих времени на системном процессоре. Если это число больше 0, это означает, что на ядро ​​больше запросов, чем может обработать система, и это может стать причиной значительных проблем с производительностью. Однажды у меня был клиент, у которого был процесс на конец месяца, который должен был быть запущен в течение рабочего дня, который занимал от 2,5 до 3 часов; когда он работал, производительность для всех остальных в этой системе была бы ужасно низкой. Я посмотрел на счетчик длины очереди процессора - обычно он достигал не более 3 или 4 в течение дня, но в конце месяца он подскочил до 30-50. Клиент работал на виртуальной машине с 4 процессорами, и я спросил, могут ли они удвоить это. Они сделали, и конец следующего месяца закончился через 45 минут.

Спасибо за это. Я не пробовал Perfmon. Кажется, здесь нет ничего, что могло бы сказать мне, ожидает ли процессор памяти (кроме бита файла подкачки). Память - единственная часть, которую я могу обновить. Roaders 5 лет назад 0

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