Я использую Jack2 с Pianoteq-5 на двухъядерном ноутбуке с 64-битной версией Ubuntu-14.04. Такие конфигурации очень чувствительны к производительности в реальном времени из-за требований низкой задержки. Сначала я слышал постоянные щелчки, которые в основном исчезали, когда я настраивал /etc/security/limits.conf, чтобы включить возможность RR для аудиогруппы.

Так что теперь и у Джека, и у Pianoteq есть потоки с классом планирования SCHED_FIFO. Я могу запустить jack с буфером размером 128 сэмплов, и он работает в большинстве случаев без сбоев. Я говорю «большинство», потому что каждые пару минут что-то разрушает рай. Я слышу целое скопление ужасных трещин. Я подозреваю, что это результат какой-то высокоприоритетной деятельности, начинающейся на заднем плане. Но как отследить, кто виноват?

1 ответ1

1

Вот один из способов сделать это. Создает много файлов, но я не могу придумать другой способ сделать это.

Предполагая, что вас нет рядом, чтобы увидеть, когда сервер будет загружен, вы должны использовать sysstat для захвата ваших исторических данных о ресурсах.

Первый способ: используйте sysstat и собирайте статистику каждые 5 минут (это займет около 8 МБ в день). Ваша запись в cron будет выглядеть примерно так: 5 * * * * /usr /lib /sa /sa1
или 5 * * * * /usr /lib64 /sa /sa1

sysstat будет хранить до месяца данных. Но вы всегда можете скопировать файлы и заархивировать их.

Вы бы использовали команду "sar", чтобы просмотреть исторические данные, чтобы увидеть, когда ваш сервер был занят.

Теперь, когда у вас есть исторические данные на вашем сервере, вам также нужно захватить выходные данные процесса, чтобы вы могли видеть, что работает в данный момент. Вы можете использовать "PS" или "Top" для этого

Таким образом, каждые 5 минут вы также можете записывать выходные данные top и ps auxww, чтобы вы могли видеть все запущенные процессы. Я бы создал два подкаталога "toparchive" и "psarchive", а затем поместил их в качестве моих рабочих мест cron.

5 * * * * top -b -n 1 > /root/toparchive/top.`date +"%Y%m%d_%H%M%S"`

или же

5 * * * * ps auxww > /root/psarchive/ps.`date +"%Y%m%d_%H%M%S"`

(это будет много файлов, в качестве альтернативы вы можете написать его так, чтобы у вас были дополнительные подкаталоги с меткой даты, например /root /toparchive /20140701 /)

Но в основном следите за своим sysstat, и вы можете узнать, когда ваш сервер загружен, а затем проверить соответствующий вывод top или ps, который вы захватили, чтобы увидеть, что заняло ваше пространство

Если процесс загружает память, вы можете дополнительно использовать "pmap" и "pgrep" для просмотра текущих процессов и фактического использования памяти.

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