Что я могу сделать, чтобы найти причину зависаний pread64 / pwrite64? - PullRequest
0 голосов
/ 01 июля 2011

Мое приложение выполняет некоторые тяжелые операции ввода-вывода на блочном устройстве raw / dev / sdb, используя pread64 / pwrite64. Иногда все просто отлично. Звонок на pread64 / pwrite64 обычно занимает всего 50-100us. Но иногда это занимает гораздо больше времени - до нескольких секунд.

Что вы можете порекомендовать, чтобы найти причину такой проблемы?

Ответы [ 2 ]

0 голосов
/ 01 июля 2011

Когда он так повешен, возьмите стопку . Другой вариант - pstack или lsstack . И, как указал @Zan, latencytop также может дать вам эту информацию.

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

0 голосов
/ 01 июля 2011

Я не использовал его, но слышал об инструменте под названием latencytop.

...