modificação `dtrace_deadman_timeout` para scripts dtrace como o dtruss?


1

Ao executar alguma depuração intensiva que precisa ser executada na ordem de cerca de 5 minutos, estou descobrindo que dtracea opção deadman está sendo acionada regularmente e não é possível obter o erro que está sendo rastreado:

dtrace: processing aborted: Abort due to systemic unresponsiveness

Parece que eu poderia modificar os parâmetros do homem morto, sendo talvez dtrace_deadman_timeouto mais promissor. Eles podem ser encontrados aqui e o slide é o seguinte:

slide dtrace

Qual é a maneira apropriada de definir esses parâmetros no macOS (especificamente 10.13.x)?

Respostas:


1

Eu tive o mesmo problema. Não sei se isso é incentivado, mas você pode usar o sinalizador "-w" para "permitir ações destrutivas". Isso parece ter corrigido o problema para mim. No entanto, não tenho ideia de quais são as consequências. Estou executando um script muito simples, por isso estou razoavelmente confiante de que não estou fazendo nada que seja muito "destrutivo".

Isso foi difícil de encontrar, era um pdf dos slides de uma apresentação feita no dtrace e tenho a sensação de que o MacOS apenas permite relutantemente o suporte básico ao DTrace atualmente. Isso é muito ruim porque o DTrace é uma ferramenta incrivelmente poderosa.

Para o bem de qualquer pobre alma que vagueie por aqui com problemas semelhantes, o livro oficial do DTrace é realmente útil e, embora não tenha todas as respostas, provavelmente tem a maioria delas.


Isso é muito útil, obrigado por apontar. Você conhece uma maneira de forçar scripts como dtrussexecutar com isso? Eu esperava que algo assim sudo dtrace -w /usr/bin/dtruss /bin/lspudesse forçar isso, mas parece que o próprio script invoca, dtracepor isso deve ser modificado por dentro - mas isso não é "prontamente" visível em termos de como alterar as opções de invocação ...
yuminumin

Desculpe, não fiz muita brincadeira com as ferramentas internas. Eu esperaria que você pudesse obter o código fonte e modificá-lo para executar sua própria versão modificada do dtruss. Desculpe, não posso ajudar muito mais agora. Se eu tiver tempo para mexer nisso, eu voltarei para você.
rtkaratekid 29/07
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.