Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Note
Os planos Basic, Standarde Enterprise entraram em um período de aposentadoria em 17 de março de 2025. Para obter mais informações, consulte o anúncio de aposentadoria do Azure Spring Apps.
Este artigo aplica-se a:✅ Java ❎ C#
Este artigo aplica-se a:✅ Empresa Básica/Padrão ✅
Este artigo mostra como usar as configurações de diagnóstico por meio das opções da JVM para conduzir a solução de problemas avançada no Azure Spring Apps.
Há vários parâmetros de inicialização de aplicativos baseados em JVM relacionados a logs de despejo de pilha, Java Flight Recorder (JFR) e coleta de lixo (GC). No Azure Spring Apps, damos suporte à configuração da JVM usando as opções da JVM.
Prerequisites
- Uma instância de serviço do Azure Spring Apps implantada. Siga nosso início rápido na implantação de um aplicativo por meio da CLI do Azure para começar.
- Pelo menos um aplicativo já criado em sua instância de serviço.
- Seu próprio armazenamento persistente, conforme descrito em Como habilitar seu próprio armazenamento persistente no Azure Spring Apps. Esse armazenamento é usado para salvar os arquivos de diagnóstico gerados. Os caminhos fornecidos nos valores de parâmetro abaixo devem estar sob o caminho de montagem do armazenamento persistente vinculado ao seu aplicativo. Se você quiser usar um caminho sob o caminho de montagem, certifique-se de criar o subcaminho com antecedência.
Gerar um despejo de memória quando há falta de memória
Utilize o seguinte parâmetro --jvm-options para gerar um "heap dump" quando encontrar um erro de falta de memória.
--jvm-options="-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=<path-to-heap-dump-folder>"
Como alternativa para especificar o caminho para a pasta de heap dump, pode fornecer um nome de ficheiro específico. No entanto, é altamente recomendável que você forneça um caminho de pasta. Se você fornecer um nome de arquivo, o comando gerará um despejo de pilha apenas para o primeiro erro de falta de memória, devido às limitações do formato de arquivo HPROF. Se você fornecer um caminho de pasta, obterá um despejo de pilha em um arquivo com um nome gerado automaticamente para cada erro de falta de memória.
Gerar logs GC
Use o parâmetro a seguir --jvm-options para gerar logs GC. Para obter mais informações, consulte a documentação oficial da JVM.
--jvm-options="-XX:+PrintGCDetails -Xloggc:<path-to-GC-log-file>"
Gerar um arquivo JFR ao sair
Use o seguinte --jvm-options parâmetro para gerar um arquivo JFR. Para obter mais informações, consulte a documentação oficial da JVM.
--jvm-options="-XX:StartFlightRecording=dumponexit=true,filename=<path-to-JFR-file>"
Configurar o caminho para os arquivos gerados
Para garantir que você possa acessar seus arquivos, certifique-se de que o caminho de destino do arquivo gerado esteja no armazenamento persistente vinculado ao seu aplicativo. Por exemplo, você pode usar JSON semelhante ao exemplo a seguir ao criar seu armazenamento persistente no Azure Spring Apps.
{
"customPersistentDisks": [
{
"storageName": "<storage-resource-name>",
"customPersistentDiskProperties": {
"type": "AzureFileVolume",
"shareName": "<azure-file-share-name>",
"mountPath": "<unique-mount-path>",
"mountOptions": [
"uid=0",
"gid=0"
],
"readOnly": false
}
},
{
"storageName": "<storage-resource-name>",
"customPersistentDiskProperties": {
"type": "AzureFileVolume",
"shareName": "<azure-file-share-name>",
"mountPath": "<unique-mount-path>",
"readOnly": true
}
}
]
}
Como alternativa, você pode usar o seguinte comando para acrescentar ao armazenamento persistente.
az spring app append-persistent-storage \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <app-name> \
--persistent-storage-type AzureFileVolume \
--storage-name <storage-resource-name> \
--share-name <azure-file-share-name> \
--mount-path <unique-mount-path>