Logo th.boatexistence.com

ไฟล์ heap dump ถูกสร้างขึ้นที่ไหน?

สารบัญ:

ไฟล์ heap dump ถูกสร้างขึ้นที่ไหน?
ไฟล์ heap dump ถูกสร้างขึ้นที่ไหน?
Anonim

โดยค่าเริ่มต้น ฮีพดัมพ์จะถูกสร้างขึ้นในไฟล์ชื่อ java_pidpid hprof ในไดเร็กทอรีการทำงานของ VM ดังในตัวอย่างด้านบน คุณสามารถระบุชื่อไฟล์หรือไดเร็กทอรีสำรองด้วยตัวเลือก -XX:HeapDumpPath=

ไฟล์ heap dump อยู่ที่ไหน

ตำแหน่งจะแตกต่างกันไปตามสภาพแวดล้อม แต่โดยทั่วไปแล้วไฟล์เหล่านี้จะปรากฏใน: C:\Windows\System32 หรือ C:\Windows\SysWOW64.

เมื่อสร้างการถ่ายโอนข้อมูลฮีพ

เริ่มด้วยการปล่อย 20180917 เมื่อพบข้อผิดพลาดหน่วยความจำไม่เพียงพอ การถ่ายโอนข้อมูลหน่วยความจำแบบฮีปจะถูกสร้างขึ้นโดยอัตโนมัติ (พารามิเตอร์ -XX:+ HeapDumpOnOutOfMemoryError ถูกเพิ่มในไฟล์ conf /jvm.

ฉันจะรับ heap dump ใน Linux ได้อย่างไร

สำหรับเครื่อง Linux คุณสามารถใช้คำสั่งต่างๆ เช่น ps -A | grep java หรือ netstat -tupln | grep java หรือด้านบน | grep java ขึ้นอยู่กับแอปพลิเคชันของคุณ จากนั้นคุณสามารถใช้คำสั่งเช่น jmap -dump:format=b, file=sample_heap_dump. hprof 1234 โดยที่ 1234 คือ PID

คุณจะรับ heap dump บน Outofmemoryerror ได้อย่างไร

เพื่อให้แน่ใจว่ามีการสร้างการถ่ายโอนข้อมูลแบบฮีปบน OOM เพื่อความชัดเจน:

  1. เชื่อมต่อกับ CSA (หรือเปิดคุณสมบัติ xml สำหรับแต่ละเซิร์ฟเวอร์ในคลัสเตอร์):
  2. เพิ่มสตริงอาร์กิวเมนต์ต่อไปนี้ในบริการแอปหรือ/และพารามิเตอร์ JVM ของบริการ bg: -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=\ hprof.
  3. เริ่มบริการใหม่

แนะนำ: