Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Debug delle VM Cloud TPU
Questo documento descrive come utilizzare il pacchetto PyPI cloud-tpu-diagnostics per generare tracce dello stack per i processi in esecuzione nelle VM TPU. Quando si verifica un errore, questo pacchetto esegue il dump delle tracce Python, ad esempio errori di segmentazione, eccezioni con virgola mobile o eccezioni per operazioni non consentite.
Inoltre, raccoglie periodicamente le tracce dello stack per aiutarti a eseguire il debug
delle situazioni in cui il programma non risponde.
Per utilizzare il pacchetto PyPI cloud-tpu-diagnostics, devi installarlo eseguendo pip install cloud-tpu-diagnostics su tutte le VM TPU. Puoi farlo con un solo comando gcloud compute tpus tpu-vm ssh. Ad esempio:
Per impostazione predefinita, le tracce dello stack vengono raccolte ogni 10 minuti. Puoi impostare la durata tra due eventi di raccolta della traccia di stack su 5 minuti, ad esempio:
Questa configurazione avvia la raccolta delle tracce dello stack all'interno della directory /tmp/debugging
su ogni VM TPU. Su tutte le VM TPU è in esecuzione un agente che carica
le tracce da una directory temporanea a Cloud Logging.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-09-04 UTC."],[],[],null,["# Debugging Cloud TPU VMs\n=======================\n\nThis document describes how to use the [cloud-tpu-diagnostics](https://pypi.org/project/cloud-tpu-diagnostics/)\nPyPI package to generate stack traces for processes running in TPU VMs. This\npackage dumps the Python traces when a fault occurs, for example segmentation\nfaults, floating-point exceptions, or illegal operation exceptions.\nAdditionally, it also periodically collects stack traces to help you debug\nsituations when the program is unresponsive.\n\n\nTo use the [cloud-tpu-diagnostics](https://pypi.org/project/cloud-tpu-diagnostics/)\nPyPI package, you must install it by running `pip install cloud-tpu-diagnostics`\non all TPU VMs. You can do this with one `gcloud compute tpus tpu-vm ssh`\ncommand. For example: \n\n```bash\n gcloud compute tpus tpu-vm ssh you-tpu-name \\\n --zone=your-zone \\\n --project=your-project-name \\\n --worker=all \\\n --command=\"pip install cloud-tpu-diagnostics\"\n```\n\nYou must also add the following code to your scripts running on all TPU VMs. \n\n from cloud_tpu_diagnostics import diagnostic\n from cloud_tpu_diagnostics.configuration import debug_configuration\n from cloud_tpu_diagnostics.configuration import diagnostic_configuration\n from cloud_tpu_diagnostics.configuration import stack_trace_configuration\n\n stack_trace_config = stack_trace_configuration.StackTraceConfig(\n collect_stack_trace = True,\n stack_trace_to_cloud = True)\n debug_config = debug_configuration.DebugConfig(\n stack_trace_config = stack_trace_config)\n diagnostic_config = diagnostic_configuration.DiagnosticConfig(\n debug_config = debug_config)\n\nBy default, stack traces are collected every 10 minutes. You can change\nthe duration between two stack trace collection events to 5 minutes, for example: \n\n stack_trace_config = stack_trace_configuration.StackTraceConfig(\n collect_stack_trace = True,\n stack_trace_to_cloud = True,\n stack_trace_interval_seconds = 300)\n\nWrap your main method with `diagnose()` to periodically collect the stack traces: \n\n with diagnostic.diagnose(diagnostic_config):\n run_main()\n\nThis configuration starts collecting stack traces inside the `/tmp/debugging`\ndirectory on each TPU VM. There is an agent running on all TPU VMs that uploads\nthe traces from a temporary directory to Cloud Logging."]]