Чем открыть heap dump phd
Операционные системы
Windows XP / Vista, Windows 7/8, Windows 10, CentOS, Debian GNU / Linux, Ubuntu Linux, FreeBSD, Mac OS X, iOS, Android
Если вы найдете информацию на этой странице полезной, пожалуйста, дайте ссылку на эту страницу.
Если у вас есть полезная информация о .кандидат наук формат файла, напишите нам!
Heap dumps contain a snapshot of all the live objects that are being used by a running Java™ application on the Java heap. You can obtain detailed information for each object instance, such as the address, type, class name, or size, and whether the instance has references to other objects.
There are two formats for heap dumps; the classic format and the Portable Heap Dump (PHD) format, which is the default. Whilst the classic format is generated in ascii text and can be read, the PHD format is binary and and must be processed for analysis.
Не удается открыть файл .phd?
Windows не может открыть этот файл:
Чтобы открыть этот файл, Windows должна знать, какую программу вы хотите использовать для его открытия. Windows может автоматически подключиться к Интернету, чтобы найти его, или вы можете вручную выбрать его из списка программ, установленных на вашем компьютере.
Чтобы избежать этой ошибки, вам необходимо правильно настроить ассоциацию файлов.
- Откройте Панель управления> Панель управления Главная> Программы по умолчанию> Установить связи.
- Выберите тип файла в списке и нажмите «Изменить программу».
Getting a Heap Dump
HPROF dumps from Sun Virtual Machines
The Memory Analyzer can work with HPROF binary formatted heap dumps. Those heap dumps are written by Sun HotSpot and any VM derived from HotSpot. Depending on your scenario, your OS platform and your JDK version, you have different options to acquire a heap dump.
Non-interactive
If you run your application with the VM flag -XX:+HeapDumpOnOutOfMemoryError a heap dump is written on the first Out Of Memory Error. There is no overhead involved unless a OOM actually occurs. This flag is a must for production systems as it is often the only way to further analyze the problem.
As per this article, the heap dump will be generated in the "current directory" of the JVM by default. It can be explicitly redirected with -XX:HeapDumpPath= for example -XX:HeapDumpPath=/disk2/dumps . Note that the dump file can be huge, up to Gigabytes, so ensure that the target file system has enough space.
Interactive
As a developer, you want to trigger a heap dump on demand. On Windows, use JDK 6 and JConsole. On Linux and Mac OS X, you can also use jmap that comes with JDK 5.
Via Java VM parameters:
- -XX:+HeapDumpOnOutOfMemoryError writes heap dump on OutOfMemoryError (recommended)
- -XX:+HeapDumpOnCtrlBreak writes heap dump together with thread dump on CTRL+BREAK
- -agentlib:hprof=heap=dump,format=b combines the above two settings (old way; not recommended as the VM frequently dies after CTRL+BREAK with strange errors)
- Sun (Linux, Solaris; not on Windows) JMap Java 5: jmap -heap:format=b
- Sun (Linux, Solaris; Windows see link) JMap Java 6: jmap.exe -dump:format=b,file=HeapDump.hprof
- Sun (Linus, Solaris) JMap with Core Dump File: jmap -dump:format=b,file=HeapDump.hprof /path/to/bin/java core_dump_file
- Sun JConsole: Launch jconsole.exe and invoke operation dumpHeap() on HotSpotDiagnostic MBean
- SAP JVMMon: Launch jvmmon.exe and call menu for dumping the heap
Heap dump will be written to the working directory.
Vendor / Release | VM Parameter | VM Tools | ||
---|---|---|---|---|
On OoM | On Ctrl+Break | Agent | JMap | JConsole |
Sun, HP | ||||
1.4.2_12 | Yes | Yes | Yes | |
1.5.0_07 | Yes | Yes (Since 1.5.0_15) | Yes | Yes (Only Solaris and Linux) |
1.6.0_00 | Yes | Yes | Yes | Yes |
SAP | ||||
1.5.0_07 | Yes | Yes | Yes | Yes (Only Solaris and Linux) |
System Dumps and Heap Dumps from IBM Virtual Machines
Memory Analyzer may read memory-related information from IBM system dumps and from Portable Heap Dump (PHD) files with the IBM DTFJ feature installed. Once installed, then File > Open Heap Dump should give the following options for the file types:
- All known formats
- HPROF binary heap dumps
- IBM 1.4.2 SDFF
- IBM Javadumps
- IBM SDK for Java (J9) system dumps
- IBM SDK for Java Portable Heap Dumps
In recent versions of IBM Java (> 6.0.1), by default, when an OutOfMemoryError is thrown, IBM Java produces a system dump, PHD, javacore, and Snap file on the first occurrence for that process (although often the core dump is suppressed by the default 0 core ulimit on operating systems such as Linux). For the next three occurrences, it produces only a PHD, javacore, and Snap. If you only plan to use system dumps, and you've configured your operating system correctly as per the links above (particularly core and file ulimits), then you may disable PHD generation with -Xdump:heap:none. For versions of IBM Java older than 6.0.1, you may switch from PHDs to system dumps using -Xdump:system:events=systhrow,filter=java/lang/OutOfMemoryError,request=exclusive+prepwalk -Xdump:heap:none
In addition to an OutOfMemoryError, system dumps may be produced using operating system tools (e.g. gcore in gdb for Linux, gencore for AIX, Task Manager for Windows, SVCDUMP for z/OS, etc.), using the IBM Java APIs, using the various options of -Xdump, using Java Surgery, and more.
Versions of IBM Java older than IBM JDK 1.4.2 SR12, 5.0 SR8a and 6.0 SR2 are known to produce inaccurate GC root information.
What if the Heap Dump is NOT Written on OutOfMemoryError?
Heap dumps are not written on OutOfMemoryError for the following reasons:
- Application creates and throws OutOfMemoryError on its own
- Another resource like threads per process is exhausted
- C heap is exhausted
As for the C heap, the best way to see that you won't get a heap dump is if it happens in C code (eArray.cpp in the example below):
C heap problems may arise for different reasons, e.g. out of swap space situations, process limits exhaustion or just address space limitations, e.g. heavy fragmentation or just the depletion of it on machines with limited address space like 32 bit machines. The hs_err-file will help you with more information on this type of error. Java heap dumps wouldn't be of any help, anyways.
Also please note that a heap dump is written only on the first OutOfMemoryError. If the application chooses to catch it and continues to run, the next OutOfMemoryError will never cause a heap dump to be written!
Видео: Файл PHD - Самый простой способ открыть файлы .phd в 2020 году
.phd - переносимый дамп кучи
В КАНДИДАТ НАУК Файлы разработки связаны с Java Development Kit. КАНДИДАТ НАУК Файл представляет собой переносимый дамп кучи. Дамп кучи Portable (Java) - это дамп состояния памяти кучи Java.
Заявка: Комплект для разработки Java Категория: Файлы для разработки Мим-тип: приложение / октет-поток Магия: - / - Псевдонимы: - Portable Heap Dump связанные расширения: .sqt Скомпилированный скрипт SQR .mmx Исполняемый модуль Oracle Forms Menu .mmb Двоичный модуль Oracle Forms Menu .fmt Текст модуля форм Oracle Forms .fmx Исполняемый модуль Oracle Forms Form .sqr Скрипт SQR
Естественно, что другие приложения также могут использовать .кандидат наук расширение файла. Даже вредоносные программы могут создавать .кандидат наук файлы. Будьте особенно осторожны с .кандидат наук файлы поступают из неизвестного источника!
Obtaining dumps
Heap dumps are generated by default in PHD format when the Java heap runs out of space. If you want to trigger the production of a heap dump in response to other situations, or in classic format, you can use one of the following options:
- Configure the heap dump agent. For more information, see the -Xdump option.
- Use the com.ibm.jvm.Dump API programmatically in your application code. For more information, see the JVM diagnostic utilities API documentation.
Видео: Расширение файла PHD - Что такое файл .phd и как я могу его открыть?
О файлах PHD
Наша цель - помочь вам понять, что такое файл с суффиксом * .phd и как его открыть.
Все типы файлов, описания форматов файлов и программы, перечисленные на этой странице, были индивидуально исследованы и проверены командой FileInfo. Мы стремимся к 100% точности и публикуем информацию только о тех форматах файлов, которые мы тестировали и проверяли.
Если вы хотите предложить какие-либо дополнения или обновления на этой странице, пожалуйста, сообщите нам об этом.
Что такое файл PHD?
Расширение файла .phd часто дается неправильно!
Согласно поисковым запросам на нашем сайте, эти орфографические ошибки были самыми распространенными за последний год:
HD, hpd, lhd, пбд, pd, pgd, ph, phc, phe, phf, phr, phs, phv, phw, phx
Тип файла 2Портативный файл дампа кучи
разработчик | IBM |
популярность | 4,0 (3 голоса) |
категория | Дата файлы |
Формат | Текст и Двоичный X |
двоичный
Этот файл сохраняется в двоичном формате, который требует определенной программы для чтения его содержимого.
Ассоциация файлов .PHD 2
Файл данных, созданный в формате Portable Heap Dump, который используется для создания файлов дампа кучи Java с использованием версии IBM Virtual Machine Java (JVM); Может содержать запись всех объектов кучи Java; используется для отладки ошибок приложения, таких как утечки памяти. Дополнительная информация
Переносимые дампы кучи можно создать, задав следующие параметры переменных среды: IBM_HEAP_DUMP = true и IBM_HEAPDUMP = true. Файлы PHD могут быть сохранены в текстовом или двоичном формате. Однако двоичный формат намного меньше по размеру файла. Чтобы указать текстовый формат, установите переменную среды IBM_JAVA_HEAPDUMP_TEXT = true.
НОТА: Переносимые дампы кучи обычно создаются путем уничтожения работающего Java-приложения. Поэтому, чтобы создать файл PHD, запустите программу Java с установленными необходимыми переменными среды, а затем уничтожьте его.
Тип файла Файл проекта 1PhotoDirector
разработчик | CyberLink |
популярность | 4,2 (6 голосов) |
категория | Дата файлы |
Формат | Бинарный Х |
Installation
See the download page for installation instructions.
Текст и Двоичный
Этот файл сохраняется в текстовом формате или в двоичном формате. Если в текстовом формате, его можно просмотреть в текстовом редакторе.
Analyzing dumps
The best method to analyze a PHD heap dump is to use the Eclipse Memory Analyzer tool (MAT) or the IBM Memory Analyzer tool. These tools process the dump file and provide a visual representation of the objects in the Java Heap. Both tools require the Diagnostic Tool Framework for Java (DTFJ) plugin. To install the DTFJ plugin in the Eclipse IDE, select the following menu items:
The following sections contain detailed information about the content of each type of heap dump file.
Classic Heap Dump format
Classic heap dumps are produced in ascii text on all platforms except z/OS, which are encoded in EBCDIC. The dump is divided into the following sections:
Header record
A single string containing information about the runtime environment, platform, and build levels, similar to the following example:
Object records
A record of each object instance in the heap with the following format:
The following object types ( object type ) might be shown:
- class name (including package name)
- class array type
- primitive array type
These types are abbreviated in the record. To determine the type, see the Java VM Type Signature table.
Any references found are also listed, excluding references to an object's class or NULL references.
The following example shows an object instance (16 bytes in length) of type java/lang/String , with a reference to a char array:
The object instance (length 32 bytes) of type char array, as referenced from the java/lang/String , is shown in the following example:
The following example shows an object instance (24 bytes in length) of type array of java/lang/String :
Class records
A record of each class in the following format:
The following class types ( ) might be shown:
- class name (including package name)
- class array type
- primitive array types
These types are abbreviated in the record. To determine the type, see the Java VM Type Signature table.
Any references found in the class block are also listed, excluding NULL references.
The following example shows a class object (80 bytes in length) for java/util/Date , with heap references:
Trailer record 1
A single record containing record counts, in decimal.
Trailer record 2
A single record containing totals, in decimal.
The values in the example reflect the following counts:
- 7147 total objects
- 22040 total references
- (12379) total NULL references as a proportion of the total references count
Java VM Type Signatures
The following table shows the abbreviations used for different Java types in the heap dump records:
The Eclipse Memory Analyzer tool (MAT) is a fast and feature-rich heap dump analyzer that helps you find memory leaks and analyze high memory consumption issues.
With Memory Analyzer one can easily
- find the biggest objects, as MAT provides reasonable accumulated size (retained size)
- explore the object graph, both inbound and outbound references
- compute paths from the garbage collector roots to interesting objects
- find memory waste, like redundant String objects, empty collection objects, etc.
Возможно ли, что расширение имени файла написано неправильно?
Подобные расширения файлов в нашей базе данных:
.ptd Экспортированная таблица Pro / ENGINEER .pmd Файл базы данных Payroll Mate .hpd PDF-документ HotDocs .phv 3D дизайн вышивки Husqvarna Viking .phc Файл для вышивки Brother Home .pd Документ плоттера FlexiSIGN 5
Further Reading
Check MemoryAnalyzer/Learning Material. You will find there a collection of presentations and web articles on Memory Analyzer, which are also a good resource for learning. These pages Querying Heap Objects (OQL) OQL SyntaxMemoryAnalyzer/OQL also explain some of the ways to use Object Query Language (OQL)
Getting Started
Basic Tutorials
Both the Basic Tutorial chapter in the MAT documentation and the Eclipse Memory Analyzer Tutorial by Lars Vogel are a good first reading, if you are just starting with MAT.
Portable Heap Dump (PHD) format
A PHD format dump file contains a header section and a body section. The body section can contain information about object, array, or class records. Primitive numbers are used to describe the file format, as detailed in the following table:
Primitive number | Length in bytes |
---|---|
byte | 1 |
short | 2 |
int | 4 |
long | 8 |
word | 4 (32-bit platforms) or 8 (64-bit platforms) |
General structure
The following structure comprises the header section of a PHD file:
- A UTF string indicating that the file is a portable heap dump
- An int containing the PHD version number
- An int containing flags:
- 1 indicates that the word length is 64-bit.
- 2 indicates that all the objects in the dump are hashed. This flag is set for heap dumps that use 16-bit hash codes. OpenJ9 heap dumps use 32-bit hash codes that are created only when used. For example, these hash codes are created when the APIs Object.hashCode() or Object.toString() are called in a Java application. If this flag is not set, the presence of a hash code is indicated by the hash code flag on the individual PHD records.
- 4 indicates that the dump is from an OpenJ9 VM.
- header tag 1 - not used
- header tag 2 - indicates the end of the header
- header tag 3 - not used
- header tag 4 - indicates the VM version (Variable length UTF string)
The body of a PHD file is indicated by a byte that contains a tag with a value of 2, after which there are a number of dump records. Dump records are preceded by a 1 byte tag with the following record types:
- Short object: 0x80 bit of the tag is set
- Medium object: 0x40 bit of the tag is set (top bit value is 0)
- Primitive Array: 0x20 bit if the tag is set (all other tag values have the top 3 bits with a value of 0)
- Long record: tag value is 4
- Class record: tag value is 6
- Long primitive array: tag value is 7
- Object array: tag value is 8
These records are described in more detail in the sections that follow.
The end of the PHD body is indicated by a byte that contains a tag with a value of 3.
Object records
Object records can be short, medium, or long, depending on the number of object references in the heap dump.
1. Short object record
The following information is contained within the tag byte:
The 1 byte tag, which consists of the following bits:
A byte or a short containing the gap between the address of this object and the address of the preceding object. The value is signed and represents the number of 32-bit words between the two addresses. Most gaps fit into 1 byte.
2. Medium object record
These records provide the actual address of the class rather than a cache index. The following format is used:
The 1 byte tag, consisting of the following bits:
A byte or a short containing the gap between the address of this object and the address of the preceding object (See the Short object record description)
3. Long object record
This record format is used when there are more than 7 references, or if there are extra flags or a hash code. The following format is used:
The 1 byte tag, containing the value 4.
A byte containing flags, consisting of the following bits:
A byte , short , int , or long containing the gap between the address of this object and the address of the preceding object (See the Short object record description).
Array records
PHD arrays can be primitive arrays or object arrays, as described in the sections that follow.
1. Primitive array record
The following information is contained in an array record:
The 1 byte tag, consisting of the following bits:
byte , short , int or long containing the gap between the address of this object and the address of the preceding object (See the Short object record description).
2. Long primitive array record
This type of record is used when a primitive array has been hashed.
The 1 byte tag with a value of 7.
A byte containing the following flags:
a byte or word containing the gap between the address of this object and the address of the preceding object (See the Short object record description).
3. Object array record
The following format applies:
The 1 byte tag with a value of 8.
A byte containing the following flags:
A byte , short , int or long containing the gap between the address of this object and the address of the preceding object (See the Short object record format description).
Class records
The PHD class record encodes a class object and contains the following format:
The 1 byte tag, containing the value 6.
A byte containing the following flags:
A byte, short , int or long containing the gap between the address of this class and the address of the preceding object (See the Short object record description).
Содержание:
Многие люди делятся .кандидат наук файлы, не прилагая инструкции по использованию. Однако не для всех очевидно, кто программирует .кандидат наук файл можно редактировать, конвертировать или распечатывать с помощью. На этой странице мы стараемся оказать помощь в обработке .кандидат наук файлы.
В нашей базе данных найдено 1 расширение (а) имени файла.
- Портативный дамп кучи
- Проблемы, связанные с файлом .phd
Breadcrumbs
On the other hand, I have tried to get the IBM JVM to produce HPROF, so
far to no avail -- does anyone know how to do that?> Instructions do not list IBM JRE which we alas must use. (Not my code or
> decision . ) Instructions seem to assume (without quite saying so) that
> the heap-dump format must be HPROF: what formats are recognized other
> than HPROF? In particular, it seems (from "Open heap Dump" -> navigate
> to directory full of PHD's) that PHD is not recognized?
>
> On the other hand, I have tried to get the IBM JVM to produce HPROF, so
> far to no avail -- does anyone know how to do that?
>
Hi Paul,
PHDs are missing a lot of information.
MAT can consume system core files produced by IBM's VM.You can either programmatically ask for a system dump or setup signal
handler to generate a system dump when a SIG is received.Per the thread "error in instructions: no way to get HPROF from Sun JVM
1.5", I cannot even get the *Sun* JVM to disgorge HPROF.Chris Grindstaff wrote:
> You can add an adaptor that allows MAT to read IBM core.*.dmp files.
> "IBM DTFJ adapter for Eclipse Memory Analyzer Tool"
> http://www.ibm.com/developerworks/java/jdk/tools/mat.html
>
OK, that failed. I got the adaptor and created the ".dmp" files, and
when I navigate in MAT (File -> Open Heap Dump) to the directory where
they are, they are visible -- but MAT+DTFJ just immediately barfs; see
attached .log file.Any other way to get this to work?
--------------030802080004040404060801
Content-Type: text/plain;
name="MAT+DTFJ_Crash.log"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="MAT+DTFJ_Crash.log"unfortunately I don't know the details and Andrew is at the Eclipse Summit
Europe today.I know that the DTFJ adapter requires the exact SR or the Java VM.
Currently, one has to at least have one of those:
IBM JDK 1.4.2 SR12, 5.0 SR8a and 6.0 SR2
(The java full version string in the log file indicates a older version).
The next thing to do is to run ~/jre/bin/jextract on the dump. The
jextract must be the one from the VM you got the heap dump from. From that
platform.Then you can open the dump in MAT.
Hope this helps a bit.> The next thing to do is to run ~/jre/bin/jextract on the dump. The
> jextract must be the one from the VM you got the heap dump from. From
> that platform.
>
> Then you can open the dump in MAT.
>
Aha! That was the missing step; it is in the DTFJ instructions (now that
I know what to look for), but not clearly enough for me to get it on the
first read through.Now MAT is happy and so am I (but the same team member who supplied the
out-of-date JVM will not be; just spotted what looks to be a
magnificently huge leak in his code . )Extending Memory Analyzer
Memory Analyzer is extensible, so new queries and dump formats can be added. Please see MemoryAnalyzer/Extending_Memory_Analyzer for details.
Community
Participate
Eclipse IDE
Содержание:
Читайте также: