1 | |
---|
2 | _memory_profile - It shows the amount of memory used by every pacakge. |
---|
3 | _________________________________________________________________ |
---|
4 | |
---|
5 | _memory_profile [-f <filename>] [-h] [-p] [-u <units>] |
---|
6 | |
---|
7 | This command intregrates the output from purify with a function map |
---|
8 | generated by a perlscript plus another perlscript to generate a memory |
---|
9 | profile of vis. |
---|
10 | |
---|
11 | This command relies on the output of purify to a file to call the |
---|
12 | script "memoryaccount" and produce a summary of how much memory has |
---|
13 | been allocated by each package. Although this command may appear |
---|
14 | simple it requires the interaction of two scripts and three files, so |
---|
15 | special care should be taken when attempting to modify it. |
---|
16 | |
---|
17 | Here is the way it works. The code in this command is conditionally |
---|
18 | compiled depending on the definition of the symbol PURIFY. If the |
---|
19 | symbol is not defined, the program prints a message notifying that the |
---|
20 | command is not operative in this executable. If PURIFY has been |
---|
21 | defined, there are certain things that are assumed. The executable has |
---|
22 | been linked with purify. The output of purify is being redirected to a |
---|
23 | file with name purify.log. The perl script memoryaccount is in |
---|
24 | $VIS/common/share and it is executable. There exists a file mapping |
---|
25 | function names to packages in the same place whose name is .fmap. |
---|
26 | |
---|
27 | The command then calls purify_all_inuse() to force purify to dump to |
---|
28 | the file purify.log the information about the memory that is currently |
---|
29 | visible to the program. This memory is not the total memory allocated |
---|
30 | by the program since there may be leaked memory that is no longer |
---|
31 | accessible. A temporary file is created and the script memoryaccount |
---|
32 | is called to analyze the file purify.log and write in the temporary |
---|
33 | file the memory profile obtained from it. Once the script is done, the |
---|
34 | temporary file is dumped to vis_stdout and deleted. |
---|
35 | |
---|
36 | Since most of the computation in this command is done by the |
---|
37 | pearlscript memoryaccount, for more information please refer to the |
---|
38 | message printed when the script is invoked with the option -h. Command |
---|
39 | options: |
---|
40 | |
---|
41 | -f <filename> |
---|
42 | File to read the dump from. The default is purify.log. This |
---|
43 | option should be used if and only if the option -log-file has |
---|
44 | been used at the linking stage when building the executable. |
---|
45 | |
---|
46 | -h |
---|
47 | Print the command usage. |
---|
48 | |
---|
49 | -p |
---|
50 | Print also the packages that did not allocated any visible |
---|
51 | memory |
---|
52 | |
---|
53 | -u <units> |
---|
54 | Units to print the memory usage in. It may be "b" for bytes, |
---|
55 | "k" for kilobytes, "m" for megabytes and "g" for gigabytes. The |
---|
56 | default is bytes. |
---|
57 | _________________________________________________________________ |
---|
58 | |
---|
59 | Last updated on 20050519 10h16 |
---|