ნაგულისხმევად heap dump იქმნება ფაილში, სახელწოდებით java_pidpid. hprof VM-ის სამუშაო დირექტორიაში, როგორც ზემოთ მოცემულ მაგალითში. თქვენ შეგიძლიათ მიუთითოთ ფაილის ალტერნატიული სახელი ან დირექტორია -XX:HeapDumpPath=ვარიანტით.
სად მდებარეობს heap dump ფაილი?
მდებარეობა იცვლება გარემოდან გამომდინარე, მაგრამ, როგორც წესი, ეს ფაილები გამოჩნდება: C:\Windows\System32. ან C:\Windows\SysWOW64.
როდის იქმნება heap dump?
დაწყებული გამოშვებით 20180917, როდესაც აღმოჩნდება მეხსიერების ამოწურვის შეცდომა, ავტომატურად იქმნება გროვის მეხსიერების ამონაწერი (პარამეტრი -XX:+ HeapDumpOnOutOfMemoryError ემატება ფაილის კონფ. /jvm.
როგორ მივიღო heap dump Linux-ში?
Linux-ის აპარატისთვის შეგიძლიათ გამოიყენოთ ბრძანებების ჯიშები, როგორიცაა ps -A | grep java ან netstat -tupln | grep java ან top | grep java, დამოკიდებულია თქვენს აპლიკაციაზე. შემდეგ შეგიძლიათ გამოიყენოთ ბრძანება, როგორიცაა jmap -dump:format=b, file=sample_heap_dump. hprof 1234 სადაც 1234 არის PID.
როგორ იღებთ გროვის ნაგავსაყრელს Outofmemoryerror-ზე?
იმისათვის, რომ დარწმუნდეთ, რომ გროვის ნაგავსაყრელი წარმოიქმნება OOM-ზე სიცხადისთვის:
- CSA-სთან დაკავშირება (ან გახსენით თვისებები. xml თითოეული სერვერისთვის კლასტერში):
- დაამატეთ შემდეგი არგუმენტის სტრიქონი აპლიკაციის სერვისში ან/და bg სერვისის JVM პარამეტრებში: -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=\. hprof.
- გადატვირთეთ სერვისები.