Logo vi.boatexistence.com

Tệp kết xuất heap được tạo ở đâu?

Mục lục:

Tệp kết xuất heap được tạo ở đâu?
Tệp kết xuất heap được tạo ở đâu?
Anonim

Theo mặc định, kết xuất đống được tạo trong một tệp có tên java_pidpid. hprof trong thư mục làm việc của VM, như trong ví dụ trên. Bạn có thể chỉ định tên tệp hoặc thư mục thay thế bằng tùy chọn -XX: HeapDumpPath=.

Tệp kết xuất heap nằm ở đâu?

Vị trí thay đổi tùy theo môi trường, nhưng thông thường các tệp này xuất hiện trong một trong hai: C: / Windows / System32. hoặc C: / Windows / SysWOW64.

Khi nào thì kết xuất đống được tạo?

Bắt đầu với bản phát hành 20180917, khi gặp lỗi hết bộ nhớ, kết xuất bộ nhớ heap sẽ tự động được tạo (Tham số -XX: + HeapDumpOnOutOfMemoryError được thêm vào tệp tin /jvm.

Làm cách nào để lấy một kết xuất đống trong Linux?

Đối với máy Linux, bạn có thể sử dụng nhiều loại lệnh như ps -A | grep java hoặc netstat -tupln | grep java hoặc đầu trang | grep java, tùy thuộc vào ứng dụng của bạn. Sau đó, bạn có thể sử dụng lệnh như jmap -dump: format=b, file=sample_heap_dump.hprof 1234 trong đó 1234 là PID.

Làm thế nào để bạn nhận được kết xuất đống trên Outofmemoryerror?

Để đảm bảo kết xuất đống được tạo trên OOM để rõ ràng:

  1. Kết nối với CSA (hoặc mở thuộc tính. Xml cho mỗi máy chủ trong cụm):
  2. Thêm chuỗi đối số sau vào các tham số JVM của dịch vụ ứng dụng hoặc / và bg dịch vụ: -XX: + HeapDumpOnOutOfMemoryError -XX: HeapDumpPath=\. hprof.
  3. Khởi động lại dịch vụ.

Đề xuất: