Opsi konfigurasi runtime untuk penelusuran kesalahan dan pembuatan profil
Artikel ini merinci pengaturan yang dapat Anda gunakan untuk mengonfigurasi penelusuran kesalahan dan pembuatan profil .NET.
Catatan
.NET 6 menstandarkan pada prefiks DOTNET_
daripada COMPlus_
untuk variabel lingkungan yang mengonfigurasi perilaku run-time .NET. Namun, prefiks COMPlus_
akan terus berfungsi. Jika Anda menggunakan versi runtime .NET sebelumnya, Anda masih harus menggunakan prefiks COMPlus_
untuk variabel lingkungan.
Mengaktifkan diagnostik
- Mengonfigurasi apakah debugger, profiler, dan diagnostik EventPipe diaktifkan atau dinonaktifkan.
- Jika Anda menghilangkan pengaturan ini, diagnostik diaktifkan. Ini sama dengan mengatur nilai ke
1
.
Nama pengaturan | Nilai | |
---|---|---|
runtimeconfig.json | T/A | T/A |
Variabel lingkungan | COMPlus_EnableDiagnostics atau DOTNET_EnableDiagnostics |
1 - diaktifkan0 - dinonaktifkan |
Mengaktifkan pembuatan profil
- Mengonfigurasi apakah pembuatan profil diaktifkan untuk proses yang sedang berjalan.
- Jika Anda menghilangkan pengaturan ini, pembuatan profil dinonaktifkan. Ini sama dengan mengatur nilai ke
0
.
Nama pengaturan | Nilai | |
---|---|---|
runtimeconfig.json | T/A | T/A |
Variabel lingkungan | CORECLR_ENABLE_PROFILING |
0 - dinonaktifkan1 - diaktifkan |
Profiler GUID
- Menentukan GUID profiler yang akan dimuat ke dalam proses yang sedang berjalan.
Nama pengaturan | Nilai | |
---|---|---|
runtimeconfig.json | T/A | T/A |
Variabel lingkungan | CORECLR_PROFILER |
string-guid |
Lokasi profiler
- Menentukan jalur ke DLL profiler untuk dimuat ke dalam proses yang sedang berjalan (atau proses 32-bit atau 64-bit).
- Jika lebih dari satu variabel diatur, variabel khusus bitness diutamakan. Mereka menentukan bitness profiler mana yang akan dimuat.
- Untuk informasi selengkapnya, lihat Menemukan pustaka profiler.
Nama pengaturan | Nilai | |
---|---|---|
Variabel lingkungan | CORECLR_PROFILER_PATH |
string-path |
Variabel lingkungan | CORECLR_PROFILER_PATH_32 |
string-path |
Variabel lingkungan | CORECLR_PROFILER_PATH_64 |
string-path |
Mengekspor peta perf dan cadangan jit
- Mengaktifkan atau menonaktifkan pengaktifan selektif peta perf atau jit dump. File-file ini memungkinkan alat pihak ketiga, seperti alat Linux
perf
, untuk mengidentifikasi situs panggilan untuk kode yang dihasilkan secara dinamis dan modul ReadyToRun (R2R) yang telah dikompilasi sebelumnya. - Jika Anda menghilangkan pengaturan ini, menulis peta perf dan file cadangan jit keduanya dinonaktifkan. Ini sama dengan mengatur nilai ke
0
. - Ketika peta perf dinonaktifkan, tidak semua panggilan terkelola akan diselesaikan dengan benar.
- Bergantung pada versi kernel Linux, kedua format didukung oleh alat ini
perf
. - Mengaktifkan peta perf atau cadangan jit menyebabkan overhead 10-20%. Untuk meminimalkan dampak performa, sebaiknya aktifkan peta perf atau jit dump secara selektif, tetapi tidak keduanya.
Tabel berikut membandingkan peta perf dan peta jit.
Format | Deskripsi | Didukung pada |
---|---|---|
Peta perf | Memancarkan /tmp/perf-<pid>.map , yang berisi informasi simbolis untuk kode yang dihasilkan secara dinamis.Memancarkan /tmp/perfinfo-<pid>.map , yang mencakup informasi simbol modul ReadyToRun (R2R) dan digunakan oleh PerfCollect. |
Peta perf didukung pada semua versi kernel Linux. |
Cadangan Jit | Format jit dump menggantikan peta perf dan berisi informasi simbolis yang lebih rinci. Saat diaktifkan, cadangan jit adalah output ke /tmp/jit-<pid>.dump file. |
Kernel Linux versi 5.4 atau lebih tinggi. |
Nama pengaturan | Nilai | |
---|---|---|
runtimeconfig.json | T/A | T/A |
Variabel lingkungan | COMPlus_PerfMapEnabled atau DOTNET_PerfMapEnabled |
0 - dinonaktifkan1 - peta perf dan jit dump diaktifkan2 - jit dump diaktifkan3 - peta perf diaktifkan |
Penanda log perf
- Mengaktifkan atau menonaktifkan sinyal yang ditentukan untuk diterima dan diabaikan sebagai penanda dalam log perf.
- Jika Anda menghilangkan pengaturan ini, sinyal yang ditentukan tidak diabaikan. Ini sama dengan mengatur nilai ke
0
.
Nama pengaturan | Nilai | |
---|---|---|
runtimeconfig.json | T/A | T/A |
Variabel lingkungan | COMPlus_PerfMapIgnoreSignal atau DOTNET_PerfMapIgnoreSignal |
0 - dinonaktifkan1 - diaktifkan |
Catatan
Pengaturan ini diabaikan jika DOTNET_PerfMapEnabled dihilangkan atau diatur ke 0
(yaitu, dinonaktifkan).
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk