Memory leak in oraagent.bin?
Hi All,
Running 11.2.0.1.0 on RHEL5.3.
I've got a box that seems to be leaking memory over time. Slowly, more and more memory is allocated, and more and more swap gets allocated. At first, I thought I was a bit too aggressive with my SGA memory/HugePages reservations...but we recently reduced those, and we still see swap usage slowly but steadily increasing.
I was poking around a bit, and I ran:
ps aux --sort=vszand I see:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
...many lines omitted....
oracle 15493 0.7 0.0 492100 38596 ? Ss Jul08 79:28 asm_lmd0_+ASM4
oracle 15777 0.0 0.0 494204 26440 ? Ss Jul08 0:05 asm_smon_+ASM4
oracle 15783 0.1 0.0 547480 20384 ? Ss Jul08 17:34 asm_gmon_+ASM4
oracle 13087 1.5 0.4 556524 368056 ? SLl Jul08 166:32 /grid/product/11.2.0/grid/bin/ocssd.bin
oracle 12952 0.1 0.0 587004 15188 ? Ssl Jul08 20:04 /grid/product/11.2.0/grid/bin/oraagent.bin
root 17895 0.2 0.0 835060 12768 ? Ssl Jul08 31:35 /grid/product/11.2.0/grid/bin/orarootagent.bin
root 7924 0.3 0.3 978556 271116 ? Ssl Jul08 37:50 /grid/product/11.2.0/grid/bin/ohasd.bin reboot
oracle 18447 0.4 0.2 1634656 180016 ? Sl Jul08 53:19 /grid/product/11.2.0/grid/jdk/jre//bin/java -Doracle.
root 17510 0.3 2.6 4220208 1964940 ? Ssl Jul08 32:26 /grid/product/11.2.0/grid/bin/crsd.bin reboot
oracle 17887 5.6 13.4 19577880 9975984 ? Ssl Jul08 601:36 /grid/product/11.2.0/grid/bin/oraagent.binIt's that last one, oraagent.bin that concerns me.
It seems that oraagent.bin VSZ and RSS are slowly, but steadily, climbing.
Looking at a pmap -x, it seems to be allocating a whole bunch of '[anon]' memory chunks, mostly 32k or 64k in size:
-bash-3.2$ pmap -x 17887
17887: /grid/product/11.2.0/grid/bin/oraagent.bin
Address Kbytes RSS Anon Locked Mode Mapping
.........many, many lines omitted for brevity......
00002aac3c000000 65536 - - - rw--- [ anon ]
00002aac40000000 65516 - - - rw--- [ anon ]
00002aac43ffb000 20 - - - ----- [ anon ]
00002aac44000000 65536 - - - rw--- [ anon ]
00002aac48000000 65536 - - - rw--- [ anon ]
00002aac4c000000 65536 - - - rw--- [ anon ]
00002aac50000000 65536 - - - rw--- [ anon ]
00002aac54000000 65536 - - - rw--- [ anon ]
00002aac58000000 65536 - - - rw--- [ anon ]
00002aac5c000000 65532 - - - rw--- [ anon ]
00002aac5ffff000 4 - - - ----- [ anon ]
00002aac60000000 65536 - - - rw--- [ anon ]
00002aac64000000 65536 - - - rw--- [ anon ]
00002aac68000000 65536 - - - rw--- [ anon ]
00002aac6c000000 65516 - - - rw--- [ anon ]
00002aac6fffb000 20 - - - ----- [ anon ]
00002aac70000000 65536 - - - rw--- [ anon ]
00002aac74000000 65444 - - - rw--- [ anon ]
00002aac77fe9000 92 - - - ----- [ anon ]
00002aac78000000 65536 - - - rw--- [ anon ]
00002aac7c000000 65536 - - - rw--- [ anon ]
00002aac80000000 65532 - - - rw--- [ anon ]
00002aac83fff000 4 - - - ----- [ anon ]
00002aac84000000 65532 - - - rw--- [ anon ]
00002aac87fff000 4 - - - ----- [ anon ]
00002aac88000000 65524 - - - rw--- [ anon ]
00002aac8bffd000 12 - - - ----- [ anon ]
00002aac8c000000 65516 - - - rw--- [ anon ]
00002aac8fffb000 20 - - - ----- [ anon ]
00002aac90000000 65536 - - - rw--- [ anon ]
00002aac94000000 65536 - - - rw--- [ anon ]
00002aac98000000 65536 - - - rw--- [ anon ]
00002aac9c000000 65524 - - - rw--- [ anon ]
00002aac9fffd000 12 - - - ----- [ anon ]
00002aaca0000000 65496 - - - rw--- [ anon ]
00002aaca3ff6000 40 - - - ----- [ anon ]
00002aaca4000000 65528 - - - rw--- [ anon ]
00002aaca7ffe000 8 - - - ----- [ anon ]
00002aaca8000000 65536 - - - rw--- [ anon ]
00002aacac000000 65536 - - - rw--- [ anon ]
00002aacb0000000 65532 - - - rw--- [ anon ]
00002aacb3fff000 4 - - - ----- [ anon ]
00002aacb4000000 65524 - - - rw--- [ anon ]
00002aacb7ffd000 12 - - - ----- [ anon ]
00002aacb8000000 65532 - - - rw--- [ anon ]
00002aacbbfff000 4 - - - ----- [ anon ]
00002aacbc000000 65512 - - - rw--- [ anon ]
00002aacbfffa000 24 - - - ----- [ anon ]
00002aacc0000000 65536 - - - rw--- [ anon ]
00002aacc4000000 65536 - - - rw--- [ anon ]
00002aacc8000000 65536 - - - rw--- [ anon ]
00002aaccc000000 65532 - - - rw--- [ anon ]
00002aaccffff000 4 - - - ----- [ anon ]
00002aacd0000000 65524 - - - rw--- [ anon ]
00002aacd3ffd000 12 - - - ----- [ anon ]
00002aacd4000000 65536 - - - rw--- [ anon ]
00002aacd8000000 65536 - - - rw--- [ anon ]
00002aacdc000000 65536 - - - rw--- [ anon ]
00002aace0000000 65536 - - - rw--- [ anon ]
00002aace4000000 65524 - - - rw--- [ anon ]
00002aace7ffd000 12 - - - ----- [ anon ]
00002aace8000000 65536 - - - rw--- [ anon ]
00002aacec000000 65444 - - - rw--- [ anon ]
00002aaceffe9000 92 - - - ----- [ anon ]
00002aacf0000000 65536 - - - rw--- [ anon ]
00002aacf4000000 65536 - - - rw--- [ anon ]
00002aacf8000000 65536 - - - rw--- [ anon ]
00002aacfc000000 65536 - - - rw--- [ anon ]
00002aad00000000 65528 - - - rw--- [ anon ]
00002aad03ffe000 8 - - - ----- [ anon ]
00002aad04000000 65536 - - - rw--- [ anon ]
00002aad08000000 65536 - - - rw--- [ anon ]
00002aad0c000000 65524 - - - rw--- [ anon ]
00002aad0fffd000 12 - - - ----- [ anon ]
00002aad10000000 65536 - - - rw--- [ anon ]
00002aad14000000 65536 - - - rw--- [ anon ]
00002aad18000000 65532 - - - rw--- [ anon ]
00002aad1bfff000 4 - - - ----- [ anon ]
00002aad1c000000 65536 - - - rw--- [ anon ]
00002aad20000000 32768 - - - rw--- [ anon ]
00002aad22001000 31744 - - - rw--- [ anon ]
00002aad24000000 65536 - - - rw--- [ anon ]
00002aad28000000 65520 - - - rw--- [ anon ]
00002aad2bffc000 16 - - - ----- [ anon ]
00002aad2c000000 65536 - - - rw--- [ anon ]
00002aad30000000 65536 - - - rw--- [ anon ]
00002aad34000000 65520 - - - rw--- [ anon ]
00002aad37ffc000 16 - - - ----- [ anon ]
00002aad38000000 65536 - - - rw--- [ anon ]
00002aad3c000000 65536 - - - rw--- [ anon ]
00002aad40000000 32768 - - - rw--- [ anon ]
00002aad42001000 31744 - - - rw--- [ anon ]
00002aad44000000 65532 - - - rw--- [ anon ]
00002aad47fff000 4 - - - ----- [ anon ]
00002aad48000000 65536 - - - rw--- [ anon ]
00002aad4c000000 65536 - - - rw--- [ anon ]
00002aad50000000 65532 - - - rw--- [ anon ]
00002aad53fff000 4 - - - ----- [ anon ]
00002aad54000000 65536 - - - rw--- [ anon ]
00002aad58000000 65536 - - - rw--- [ anon ]
00002aad5c000000 65532 - - - rw--- [ anon ]
00002aad5ffff000 4 - - - ----- [ anon ]
00002aad60000000 65536 - - - rw--- [ anon ]
00002aad64000000 65504 - - - rw--- [ anon ]
00002aad67ff8000 32 - - - ----- [ anon ]
00002aad68000000 65536 - - - rw--- [ anon ]
00002b4865c05000 4 - - - rw--- [ anon ]
00002b4865c06000 4256 - - - r-x-- libhasgen11.so
00002b486602e000 1024 - - - ----- libhasgen11.so
00002b486612e000 72 - - - rw--- libhasgen11.so
00002b4866140000 16 - - - rw--- [ anon ]
00002b4866144000 35368 - - - r-x-- libclntsh.so.11.1
00002b48683ce000 2044 - - - ----- libclntsh.so.11.1
00002b48685cd000 1524 - - - rw--- libclntsh.so.11.1
00002b486874a000 144 - - - rw--- [ anon ]
00002b486876e000 8 - - - r-x-- libskgxn2.so
00002b4868770000 1020 - - - ----- libskgxn2.so
00002b486886f000 4 - - - rw--- libskgxn2.so
00002b4868885000 8 - - - rw--- [ anon ]
00002b4868887000 444 - - - r-x-- libasmclnt11.so
00002b48688f6000 1024 - - - ----- libasmclnt11.so
00002b48689f6000 72 - - - rw--- libasmclnt11.so
00002b4868a08000 4 - - - rw--- [ anon ]
00002b4868a09000 316 - - - r-x-- libcell11.so
00002b4868a58000 1020 - - - ----- libcell11.so
00002b4868b57000 32 - - - rw--- libcell11.so
00002b4868b5f000 4 - - - rw--- [ anon ]
00002b4868b60000 732 - - - r-x-- libskgxp11.so
00002b4868c17000 1024 - - - ----- libskgxp11.so
00002b4868d17000 8 - - - rw--- libskgxp11.so
00002b4868d19000 2580 - - - r-x-- libnnz11.so
00002b4868f9e000 1020 - - - ----- libnnz11.so
00002b486909d000 268 - - - rw--- libnnz11.so
00002b48690e0000 4 - - - rw--- [ anon ]
00002b48690e1000 1160 - - - r-x-- libgns11.so
00002b4869203000 1020 - - - ----- libgns11.so
00002b4869302000 20 - - - rw--- libgns11.so
00002b4869307000 4 - - - rw--- [ anon ]
00002b4869308000 136 - - - r-x-- libeons.so
00002b486932a000 1020 - - - ----- libeons.so
00002b4869429000 8 - - - rw--- libeons.so
00002b486942b000 100 - - - r-x-- libonsx.so
00002b4869444000 1024 - - - ----- libonsx.so
00002b4869544000 4 - - - rw--- libonsx.so
00002b4869545000 12 - - - rw--- [ anon ]
00002b4869548000 4 - - - r-x-- libaio.so.1.0.1
00002b4869549000 2044 - - - ----- libaio.so.1.0.1
00002b4869748000 4 - - - rw--- libaio.so.1.0.1
00002b4869749000 292 - - - rw--- [ anon ]
00002b48697a7000 40 - - - r-x-- libnss_files-2.5.so
00002b48697b1000 2044 - - - ----- libnss_files-2.5.so
00002b48699b0000 4 - - - r---- libnss_files-2.5.so
00002b48699b1000 4 - - - rw--- libnss_files-2.5.so
00002b48699b2000 160 - - - rw--- [ anon ]
00007fff452c2000 140 - - - rwx-- [ stack ]
00007fff452e5000 4 - - - rw--- [ anon ]
ffffffffff600000 8192 - - - ----- [ anon ]
total kB 19586072 - - -Is anyone aware of a memory leak in oraagent.bin in 11.2.0.1.0? I did a Google search and a MOS search, no luck at all.
Any thoughts or suggestions are welcome.
Thanks,
-Mark
Also noticed, this is only happening on node 4 of a 4 node cluster. The other three nodes, the memory usage of oraagent.bin is an order of magnitude lower, and does not appear to be growing. On node 4, it has huge memory allocation and continues to grow, and also, seems to have accrued a lot more CPU time (which, I suppose is consistent).
And yes, all 4 nodes have been up almost exactly the same amount of time (1 week, 1 day), within a few minutes of each other.
-Mark
Similar Messages
-
JBoss EAP 6 On JRockit - Memory Leak
hello team.
I have memory leak problem on jboss and jrockit.
My Environment :
1. OS :
CentOS release 6.4 (Final)
2. JRockit :
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Oracle JRockit(R) (build R28.2.7-7-155314-1.6.0_45-20130329-0641-linux-x86_64, compiled mode)
3. Application Server:
JBoss EAP 6.2.0.GA
4. Application
Large EJB Application (100 and more EJB Beans (Stateless, Stateful, MDB, Timers and so on)
Everything works fine on older application server versions (4.3 , 4.2)
But now I have Problem
Of course I know that problem is new version - and i have discussion on JBoss forums.
but guys I have question about jrockit with you:
What is the option "Other" in memory ??
[jboss@jboss-new bin]$ jrcmd 17114 print_memusage
17114:
Total mapped 8457864KB (reserved=2983100KB)
- Java heap 3145728KB (reserved=0KB)
- GC tables 105232KB
- Thread stacks 46412KB (#threads=138)
- Compiled code 1048576KB (used=12257KB)
- Internal 1480KB
- OS 170324KB
- Other 3639056KB
- Classblocks 10496KB (malloced=9631KB #28393)
- Java class data 289536KB (malloced=192391KB #133697 in 28393 classes)
- Native memory tracking 1024KB (malloced=294KB #10)
[jboss@jboss-new bin]$
This size increases every time - and took entire amount of RAM.
Thank in Advance.
Regards,
Paata LominadzeNot sure what the 'other' is, but it is probably best shown by using an example. By using displayMap we can display a memory map of various JVM subsystems and libraries that are loaded, including third-party libraries.
./jrcmd 4523 print_memusage displayMap
Total mapped 3984796KB (reserved=2978740KB)
- Java heap 524288KB (reserved=0KB)
- GC tables 17548KB
- Thread stacks 20276KB (#threads=39)
- Compiled code 1048576KB (used=14224KB)
- Internal 1672KB
- OS 146924KB
- Other 2092648KB
- Classblocks 7424KB (malloced=7381KB #20064)
- Java class data 124416KB (malloced=124411KB #91048 in 20064 classes)
- Native memory tracking 1024KB (malloced=118KB #10)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
OS *java r x 0x0000000000400000.( 76KB)
OS *java rw 0x0000000000612000.( 4KB)
OS *[heap] rw 0x00000000007c1000.( 132KB)
INT Poll r 0x000000007fffe000 ( 4KB)
INT Membar rw 0x000000007ffff000.( 4KB)
MSP Classblocks (1/2) rw 0x00000000df8c0000 ( 6912KB)
MSP Classblocks (2/2) rw 0x00000000dff80000 ( 512KB)
HEAP Java heap rw 0x00000000e0000000.( 524288KB)
OS *ld-2.12.so r x 0x0000003664400000.( 128KB)
OS *ld-2.12.so r 0x000000366461f000 ( 4KB)
OS *ld-2.12.so rw 0x0000003664620000 ( 4KB)
OS **ld-2.12.so rw 0x0000003664621000.( 4KB)
OS *gconv-modules.cache r 0x00007f8f2e4a0000 ( 28KB)
THREAD Stack 4630 rwx 0x00007f8f2e4a7000 ( 8KB)
THREAD Stack 4630 0x00007f8f2e4a9000 ( 12KB)
THREAD Stack 4630 rwx 0x00007f8f2e4ac000 ( 244KB)
MSP Java class data (5/37) rw 0x00007f8f2e4e9000 ( 14336KB)
MSP Java class data (9/37) rw 0x00007f8f2fa40000 ( 5888KB)
rw 0x00007f8f30000000 ( 188KB)
0x00007f8f3002f000 ( 65348KB)
rw 0x00007f8f34000000 ( 132KB)
0x00007f8f34021000 ( 65404KB)
rw 0x00007f8f38000000 ( 412KB)
0x00007f8f38067000.( 65124KB)
MSP Java class data (10/37) rw 0x00007f8f3c034000 ( 34048KB)
rw 0x00007f8f3e174000 ( 8200KB)
MSP Java class data (11/37) rw 0x00007f8f3e976000 ( 256KB)
OS *libhpi.so rw 0x00007f8fb37fc000 ( 8KB)
OS **libhpi.so rw 0x00007f8fb37fe000 ( 4KB)
CODE Compiled code rwx 0x00007f8fb37ff000 ( 64KB)
CODE Compiled code rwx 0x00007f8fb380f000 ( 128KB)
CODE Compiled code rwx 0x00007f8fb382f000 ( 64KB)
MSP Java class data (37/37) rw 0x00007f8ff83a1000 ( 512KB)
GC Modified Union Set (committed) rw 0x00007f8ff8421000 ( 132KB)
GC Card table rw 0x00007f8ff8442000 ( 1024KB)
GC Object bits (committed) rw 0x00007f8ff8542000 ( 8196KB)
Here
- thread is thread related (such as thread stacks)
- int, internal use (such as pointer pages)
- heap, chunk used by JRockit for the Java heap
- os, mapped directly from the operating system, such as third party DLLs or shared objects
- msp, memory space. a memory space is a native heap with a specific purpose, for example native memory allocation inside the JVM
- gc, garbage collection related, for example live bits
- code, compiled code
The 'other' memory space looks to me (from the blank entries in the above print-out) like they are a memory pages to are still not used. When the JVM starts it mappes an amount of memory. To my knowledge JRockit uses mmap (mmap(2) - Linux manual page), which creates a new mapping in the virtual address space. JRockit reserves an amount of memory (Java Heap (heap where your object instances go) + its own runtime (all the others)).
To see where the growth is in the various memory spaces, you can use 'print_memusage baseline', after which you can execute print_memusage again, for example,
./jrcmd 4523 print_memusage scale=M
4523:
Total mapped 3896MB +4MB (reserved=2905MB -3MB)
- Java heap 512MB (reserved=0MB)
- GC tables 17MB
- Thread stacks 19MB (#threads=39)
- Compiled code 1024MB (used=14MB +1MB)
- Internal 1MB
- OS 143MB
- Other 2043MB
- Classblocks 7MB (malloced=7MB #20596 +532)
- Java class data 126MB +4MB (malloced=125MB +4MB #93640 +2592 in 20596 classes)
- Native memory tracking 1MB (malloced=0MB #20 +10)
Note the additional column that prints out the difference in memory usage in relation to the baseline. You can also monitor native allocations by using trace_alloc_sites, memory allocations can then be displayed with different levels of detail using the level argument.
./jrcmd 4523 print_memusage trace_alloc_sites=true
4523:
Total mapped 3989660KB +4864KB (reserved=2974732KB -4008KB)
- Java heap 524288KB (reserved=0KB)
- GC tables 17548KB
- Thread stacks 20276KB (#threads=39)
- Compiled code 1048576KB (used=15265KB +1040KB)
- Internal 1672KB
- OS 146924KB
- Other 2092648KB
- Classblocks 7680KB +256KB (malloced=7669KB +287KB #20596 +532)
- Java class data 129024KB +4608KB (malloced=128967KB +4555KB #93640 +2592 in 20596 classes)
- Native memory tracking 1024KB (malloced=236KB +118KB #20 +10)
./jrcmd 4523 print_memusage level=3
4523:
Total mapped 3989660KB +4864KB (reserved=2974732KB -4008KB)
- Java heap 524288KB (reserved=0KB)
- GC tables 17548KB
- Thread stacks 20276KB (#threads=39)
- Compiled code 1048576KB (used=15265KB +1040KB)
- Internal 1672KB
- OS 146924KB
- Other 2092648KB
- Classblocks 7680KB +256KB (malloced=2KB -7379KB #4 -20060) Not fully traced
- Java class data 129024KB +4608KB (malloced=26KB -124385KB #16 -91032 in 20596 classes) Not fully traced.
- Native memory tracking 1024KB (malloced=118KB #10) Not fully traced.
gather_memorymap_database memtrace.c: 206 91KB +91KB (#1 +1)
gather_memory_usage osal_mspace.c:5142 7KB +7KB (#4 +4)
msGatherMSpacesUsageDatabase osal_mspace.c:6128 2KB +2KB (#1 +1)
msGatherMSpacesUsageDatabase osal_mspace.c:6134 16KB +16KB (#1 +1)
Note this is more on the JVM level, in your case in might be beneficial to investigate what is happening on the java heap. By using print_object_summary you can get insight how memory on the heap is used on a per-class basis. To get to the bottom of where the memory leak is you can use the memory-leak-detector (an example of its use can be found here Middleware Snippets: Fast, Faster, JRockit). You can also obtain a heapdump that can be analyzed by using for example MAT (see for an example here Middleware Snippets: Visualizing Class Loading). To obtain a heapdump you can run the command, for example,
[weblogic@machine1 bin]$ ./jrcmd 4523 runsystemgc full=true fullcompact=true
4523:
[weblogic@machine1 bin]$ ./jrcmd 4523 hprofdump filename=/home/weblogic/dump.hprof
4523:
Wrote dump to /home/weblogic/dump.hprof
Note that this first issues a full GC by using the runsystemgc command. -
Memory Leak in 10.4.7
Question for all you Mac "Guru's" out there. I have an Imac (intel) with 2 512MB Memory Sticks and Have Noticed that there appears to be a memory leak in the OS. After several staggering hours It seems that the culprit is WindowServer and kernal_task. I have seen the WindowServer process Real Memory increase a couple of Kbytes every 3-4 seconds. My kernal_task seems to always be the process using the most memory of all.
After a fresh restart Kernal_task is using about 40MB and windowserver about 20MB. now if I let it sit for just a few hours those numbers almost double. I admit it could be something else, but i don't think so since i sit and stare at my activity monitor and nothing seems to change except for those 2 processes. Anybody else notice this at all?
I asked the snob at the Genius bar in the Chandler, AZ Apple store and he suggested to try re-seating the memory sticks and I have with no change. I have even done a fresh install of OS X and the updates to 10.4.7. I have noticed the problem since 10.4.5.
Any help would be greatly appreciated!
I don't have a lot of 3rd party software except for Firefox and thunderbird. All the apps that i use are Universal Binary with the exception of Quicken that came with my iMac.
Thanks
17" inch Intel Imac Mac OS X (10.4.4)On mdc open terminal and goto;
/Library/Filesystems/Xsan/bin
run as root
cvfsck -j <selectyourvolume>
to make sure journal is written out to volume
then run
cvfsck <selectyourvolume> until no errors are reported
you can run it with -n option the first time to make sure you do only a readonly check (no modification, hence the FS will not be fixed) -
Potential memory leak in 11.2.0.1.0 cluster stack components
Hi All,
We are running 11.2.0.1.0 RAC on OEL 5.5 and OEL 5.5. On all of our boxes, we have observed a gradual increase and filling of swap space. Swap usage slowly but steadily increase to a point where either the Node boots automatically or we have to manually restart it.
To get more insight into the issues, we recently upgraded one of the nodes to Oracle unbreakable kernel and installed smem to profile the memory consumption pattern. smem will give the process set size (RSS), the unique set size (USS) and the proportional set size (PSS) which is the unique set size plus a portion of the shared memory that is being used by this process.
It appears that there is a gradual increase in memory/swap consumption of some clusterware components. Also the weird part is that the process is filling up the swap space and not utilizing the unallocated RAM.
Memory footprint at the Node start...
PID User Command Swap USS PSS RSS
4001 root /u01/app/11.2.0/grid/bin/ohasd.bin 16236 18128 18829 30284
5200 oracle /u01/app/11.2.0/grid/bin/oraagent.bin 13536 74512 75587 87156
4255 grid /u01/app/11.2.0/grid/bin/oraagent.bin 13484 2644 3628 15056
4688 root /u01/app/11.2.0/grid/bin/crsd.bin 8240 71584 72628 85692
Memory footprint after 24 hrs...
PID User Command Swap USS PSS RSS
5200 oracle /u01/app/11.2.0/grid/bin/oraagent.bin 94952 121168 122161 133488
4688 root /u01/app/11.2.0/grid/bin/crsd.bin 66220 76684 77723 90776
4001 root /u01/app/11.2.0/grid/bin/ohasd.bin 21448 24708 25410 36892
4255 grid /u01/app/11.2.0/grid/bin/oraagent.bin 13840 2372 3202 14316
#free -m
total used free shared buffers cached
Mem: 3964 3856 108 0 5 1846
-/+ buffers/cache: 2004 1959
Swap: 4094 617 3477
Has anyone experience similar situation? I did google search as well as Metalink, but did not find anything useful.
Any thoughts/suggestions are welcome.
Thanks,
-Sanjeev
Edited by: user12219014 on Jan 9, 2011 5:58 AMThanks for pointing to MOS notes, they were quite helpful. Though sometime on our system, ohasd.bin consumes more resources. Is it safe to kill it?
Also, we have observed that there are multiple oraagents belonging to different users such as root,grid and oracle.
grid 14620 1 0 20:32 ? 00:00:14 /u01/app/11.2.0/grid/bin/oraagent.bin
root 14625 1 0 20:32 ? 00:00:02 /u01/app/11.2.0/grid/bin/orarootagent.bin
root 14627 1 0 20:32 ? 00:00:00 /u01/app/11.2.0/grid/bin/cssdagent
grid 14803 1 0 20:32 ? 00:00:06 /u01/app/11.2.0/grid/bin/oraagent.bin
oracle 14807 1 0 20:32 ? 00:01:53 /u01/app/11.2.0/grid/bin/oraagent.bin
root 14811 1 0 20:32 ? 00:00:38 /u01/app/11.2.0/grid/bin/orarootagent.bin
When these are killed, not all are re-spawned automatically - typically oraagent belonging to "oracle" user is left out. Is this an expected behaviour or it will cause some instability in the clusterware?
Thanks -
It seems there is a memory leak with JPopupMenu. The following program demonstrates this leak. If you run the program, click on show form, and then close the form, the used memory will be GCd appropriately. If you click on show form, then right click on the table to show the popup (even if you dont do anything else with the popup) then close the form, it never GCs the form. I've tried all kinds of crazy things, but I cant seem to find what is keeping the memory from being GCd.
Peter
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.beans.PropertyChangeListener;
import java.text.DecimalFormat;
import java.util.Timer;
import java.util.TimerTask;
import java.util.Vector;
import javax.swing.AbstractAction;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JRadioButtonMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTable;
import javax.swing.SwingUtilities;
import javax.swing.table.AbstractTableModel;
@SuppressWarnings("serial")
public class TriState extends JPanel {
private static final long K = 1024;
private static final long M = K * K;
private static final long G = M * K;
private static final long T = G * K;
protected static int ctr = 1;
private JButton btnShow = new JButton("Show Form");
private JLabel lblMem = new JLabel();
private static final DecimalFormat df = new DecimalFormat("#,##0.#");
protected Timer updateTimer = new Timer();
public TriState() {
this.setLayout(new GridLayout());
add(btnShow);
add(lblMem);
updateTimer.scheduleAtFixedRate(new UpdateTimerTask(), 1000, 1000);
btnShow.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
FrmReferrals fr = new FrmReferrals();
fr.setVisible(true);
class UpdateTimerTask extends TimerTask {
public void run() {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
dumpMemoryUsage();
protected void dumpMemoryUsage() {
System.gc();
Long t = Runtime.getRuntime().totalMemory();
long f = Runtime.getRuntime().freeMemory();
String st = convertToStringRepresentation(t);
String sf = convertToStringRepresentation(f);
String su = convertToStringRepresentation(t - f);
System.out.println("Total:" + st + "(" + t + ") Free:" + sf + "(" + f + ") Used:" + su + "(" + (t - f) + ")");
lblMem.setText(su + "/" + st);
public static String convertToStringRepresentation(final long value) {
final long[] dividers = new long[]{T, G, M, K, 1};
final String[] units = new String[]{"TB", "GB", "MB", "KB", "B"};
if (value < 1)
throw new IllegalArgumentException("Invalid file size: " + value);
String result = null;
for (int i = 0; i < dividers.length; i++) {
final long divider = dividers;
if (value >= divider) {
final double dr = divider > 1 ? (double) value / (double) divider : (double) value;
result = df.format(dr) + units[i];
break;
return result;
private static void createAndShowGUI() {
JFrame frame = new JFrame("SimpleTableDemo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Create and set up the content pane.
TriState newContentPane = new TriState();
newContentPane.setOpaque(true); // content panes must be opaque
frame.setContentPane(newContentPane);
// Display the window.
frame.pack();
frame.setVisible(true);
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
protected class PopupMenu extends JPopupMenu {
public PopupMenu() {
JRadioButtonMenuItem item1 = new JRadioButtonMenuItem(new AbstractAction("Insert Item") {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println(e.getActionCommand());
item1.setActionCommand("Insert");
add(item1);
JRadioButtonMenuItem item2 = new JRadioButtonMenuItem(new AbstractAction("Delete Item") {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println(e.getActionCommand());
item2.setActionCommand("Delete");
add(item2);
public class FrmReferrals extends JFrame {
public FrmReferrals() {
super();
init();
protected void init() {
jbInit();
protected void closeIt() {
uninit();
// variables here
protected Dimension dimPreferred = new Dimension(1270, 995);
protected JTabbedPane tabbedPane = new JTabbedPane();
protected JTable tblReferrals = null;
protected PopupMenu popMenu = new PopupMenu();
protected void jbInit() {
setPreferredSize(dimPreferred);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setTitle("Referrals");
JPanel pnl = new JPanel();
pnl.setOpaque(false);
pnl.setLayout(new BorderLayout());
pnl.add(tabbedPane, BorderLayout.CENTER);
// put it all in the frame
add(pnl);
pack();
setLocationRelativeTo(null);
// init the table and model
ReferralsTableModel ctm = new ReferralsTableModel(buildDummyVector());
tblReferrals = new JTable(ctm);
tblReferrals.setComponentPopupMenu(popMenu);
tblReferrals.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
tabbedPane.add(new JScrollPane(tblReferrals, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED));
addWindowListener(new WindowListener() {
@Override
public void windowActivated(WindowEvent e) {}
@Override
public void windowClosed(WindowEvent e) {}
@Override
public void windowClosing(WindowEvent e) {
closeIt();
@Override
public void windowDeactivated(WindowEvent e) {}
@Override
public void windowDeiconified(WindowEvent e) {}
@Override
public void windowIconified(WindowEvent e) {}
@Override
public void windowOpened(WindowEvent e) {}
protected Vector<DBO_Referrals> buildDummyVector() {
Vector<DBO_Referrals> vr = new Vector<DBO_Referrals>();
for (int x = 0; x < 5000; x++) {
DBO_Referrals r = new DBO_Referrals(x+(5000*ctr));
vr.add(r);
return vr;
protected void uninit() {
tblReferrals.setComponentPopupMenu(null);
for (Component c : popMenu.getComponents()) {
PropertyChangeListener[] pl = c.getPropertyChangeListeners();
for (PropertyChangeListener l : pl)
c.removePropertyChangeListener(l);
if (c instanceof JMenuItem) {
ActionListener [] al = ((JMenuItem)c).getActionListeners();
for (ActionListener l : al) {
((JMenuItem)c).removeActionListener(l);
popMenu = null;
protected class DBO_Referrals {
protected long id;
protected String Employee;
protected String Rep;
protected String Asst;
protected String Client;
protected String Dates;
protected String Status;
protected String Home;
public DBO_Referrals(long id) {
this.id = id;
Employee = "Employee" + id;
Rep = "Rep" + id;
Asst = "Asst" + id;
Client = "Client" + id;
Dates = "Dates" + id;
Status = "Status" + id;
Home = "Home" + id;
public long getId() {
return id;
public String getEmployee() {
return Employee;
public String getRep() {
return Rep;
public String getAsst() {
return Asst;
public String getClient() {
return Client;
public String getDates() {
return Dates;
public String getStatus() {
return Status;
public String getHome() {
return Home;
public class ReferralsTableModel extends AbstractTableModel {
protected Vector<DBO_Referrals> data = new Vector<DBO_Referrals>();
protected String[] sColumns = {"id", "Employee", "Rep", "Assistant", "Client", "Date", "Status", "Home", "R"};
public ReferralsTableModel() {
super();
public ReferralsTableModel(Vector<DBO_Referrals> data) {
this();
this.data = data;
@SuppressWarnings("unchecked")
@Override
public Class getColumnClass(int col) {
switch (col) {
case 0 :
return Long.class;
default :
return String.class;
@Override
public int getColumnCount() {
return sColumns.length;
@Override
public int getRowCount() {
return data.size();
@Override
public Object getValueAt(int row, int col) {
if (row > data.size())
return null;
DBO_Referrals a = data.get(row);
switch (col) {
case 0 :
return a.getId();
case 1 :
return a.getEmployee();
case 2 :
return a.getRep();
case 3 :
return a.getAsst();
case 4 :
return a.getClient();
case 5 :
return a.getDates();
case 6 :
return a.getStatus();
case 7 :
return a.getHome();
case 8 :
return "+";
default :
return null;BTW instead of continually printing out the memory use a profiler (jvisualvm in the jdk/bin directory -> heapdump -> search on your class -> view in instances -> find nearest GC root).
Looks like BasicPopupMenuUI doesn't remove a reference to the JRootPane immediately. As far as I can see it will be removed when another menu shows.
As a hackish workaround you can try this in you FrmReferrals#uninit():
for(ChangeListener listener : MenuSelectionManager.defaultManager().getChangeListeners()) {
if (listener.getClass().getName().contains("MenuKeyboardHelper")) {
try {
Field field = listener.getClass().getDeclaredField("menuInputMap");
field.setAccessible(true);
field.set(listener, null);
} catch (Exception e) {
// ignored
break;
}Funnily enough though it isn't there when I reduce your code to a SSCCE:
import java.awt.*;
import javax.swing.*;
public class TestBasicPopupMenuUILeak extends JFrame {
public TestBasicPopupMenuUILeak() {
super("Not collected right away");
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
JFrame frame = new JFrame("Test");
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.getContentPane().add(
new JButton(new AbstractAction("Show frame") {
@Override
public void actionPerformed(ActionEvent e) {
EventQueue.invokeLater(new Runnable() {
public void run() {
JLabel label = new JLabel(
"Right click to show popup, then close this frame."
+ "The frame with not be GCed until another (popup) menu is shown.");
JPopupMenu popup = new JPopupMenu(
"Popup");
popup.add("Item");
label.setComponentPopupMenu(popup);
// named differently so you can find it
// easily in your favorite profiler
JFrame frame = new TestBasicPopupMenuUILeak();
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
frame.getContentPane().add(label);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
} -
Suspected memory leak in numbers
Dear All!
I am facing a problem in Numbers, which seems to me a memory leak issue.
The original problem occurred when I tried to process a data set consisting of 6 tables of 6 columns by 600-800 rows. A scatterplot with 6 series has been created using 2 selected columns of each table. The "your startup disk is almost full" was first symptom when I realiser that something is going wrong. I traced back using activity monitor that when I edit the spreadsheet the memory fills up rapidly. Once the memory is full the program starts to use up the swap area. I my case I have about 20 GB empty SSD space. After a few hours of work on this table the entire memory and the SSD was filled up.
To check whether the file is corrupted or something else issuing on I made a mock file to test the behaviour. I could produce the same response with a single table of 2 columns and 3000 rows of random numbers and a scatter plot of the this pairs of numbers.
Originally I have faced the problem on a mid 2014 MBP running OS 10.10.3 (i5, 8GB, 128GB SSD) but I have carried out the mock data experiment also on a 2014 MBA OS10.10.2 (i5, 8GB, 128GB SSD) and I have experienced that the memory usage keeps on increasing as I roll up and down in the table, just like on my MBP and in case of the original file. During the few minutes of the test on the MBA the memory usage of the Numbers application indicated in Activity Monitor shoot up from 70Mb to over 1GB and kept on increasing with every operation carried out in numbers, regardless the type of the operation. In this sense there was no difference whether it was rolling the sheet or saving the file.
The extra applications that are installed on both computers: Latex, and Parallels (but non of them were running during the tests)
On my MBP I ran a leak command in terminal for the Numbers and got the following result.
Last login: Thu Apr 16 14:03:17 on ttys000
Peters-MacBook-Pro:~ xxxxxxxx$ leaks 5743 --nocontext
Process: Numbers [5743]
Path: /Applications/Numbers.app/Contents/MacOS/Numbers
Load Address: 0x102553000
Identifier: com.apple.iWork.Numbers
Version: 3.5.2 (2118)
Build Info: Numbers-2118000000000000~1
Code Type: X86-64
Parent Process: ??? [1]
Date/Time: 2015-04-16 14:13:01.457 +0200
OS Version: Mac OS X 10.10.3 (14D131)
Report Version: 7
Analysis Tool: /usr/bin/leaks
leaks Report Version: 2.0
Process 5743: 1320819 nodes malloced for 996727 KB
Process 5743: 158802 leaks for 871233088 total leaked bytes.
I have searched similar issues on the net and on the community sites but unfortunately could not find any relevant information.
Any help or suggestion would be highly appreciated.Dear Wayne,
Thanks for your suggestions, I will definitely make a bug report. In fact I have already tried it through apples homepage, and I wanted to make a more specific one but to do so you have to become a developer... which would be a really bad joke.
However I did the mock experiment with 700 lines of random data in 2 columns and a scatter plot of the 700 points. The same happens. The memory usage of Numbers went up to 1.63GB... even higher since I have checked.
To answer your questions I have MBP 128 GB SSD of which 20 GB is free, RAM: 8GB
You see... my original problematic dataset consisting of 6 times 500-800 points has been plotted in a fraction of a second, handled as easy as in Excel, LibreOffice or Gnumeric (which are not intended for handling a lot of data; for that purpose I use Matlab or Python). So without any complains or extra effort my data points are plotted beautifully (as lines with no markers to keep the plot clear), but the memory is gradually filled up...
I am not sure it is the right approach to reduce the use of Numbers for very tiny datasets. This would mean that you were unable to make a chart for two years of data of precipitation or temperature or stock value or anything... sounds very unlikely. It sounds like you have a nice car that can go 280 km/h and reach 100 km/h in 4s, with the only the restriction that wheels are designed to fall off at 30 km/h without warning! I don't think that is the case. Would be very unbalanced performance.
Many thanks again. I'll go and make my bug report to get the wheels reinforced .
Peter -
Memory leak under GNU/Linux when using exec()
Hi,
We detected that our application was taking all the free memory of the computer when we were using intensively and periodically the method exec() to execute some commands of the OS. The OS of the computer is a GNU/Linux based OS.
So, in order to do some monitoring we decided to wrote a simple program that called exec() infinite number of times, and using the profiler tool of Netbeans we saw a memory leak in the program because the number of surviving generations increased during all the execution time. The classes that have more surviving generations are java.lang.ref.Finalizer, java.io.FileDescriptor and byte[].
We also decided to test this simple program using Windows, and in that OS we saw that the memory leak disappeared: the number of surviving generations was almost stable.
I attach you the code of the program.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class testExec
public static void main(String args[]) throws IOException, InterruptedException
Runtime runtime = Runtime.getRuntime();
while (true)
Process process = null;
InputStream is = null;
InputStreamReader isr = null;
BufferedReader br = null;
try
process = runtime.exec("ls");
//process = runtime.exec("cmd /c dir");
is = process.getInputStream();
isr = new InputStreamReader(is);
br = new BufferedReader(isr);
String line;
while ((line = br.readLine()) != null)
System.out.println(line);
finally
process.waitFor();
if (is != null)
is.close();
if (isr != null)
isr.close();
if (br != null)
br.close();
if (process != null)
process.destroy();
}¿Is anything wrong with the test program we wrote? (we know that is not usual to call infinite times the command ls/dir, but it's just a test)
¿Why do we have a memory leak in Linux but not in Windows?
I will appreciate any help or ideas. Thanks in advance.Hi Joby,
From our last profiling results, we haven't found yet a proper solution. We think that probably the problem is caused by the byte[]'s/FileInputStreams created by the class UNIXProcess that manage the stdin, stdout and stderr streams. It seems that these byte arrays cannot be removed correctly by the garbage collector and they become bigger and bigger, so at the end they took all the memory of the system.
We downloaded the last version of OpenJDK 6 (build b19) and modified UNIXProcess.java.linux so when we call its method destroy(), we assign to null those streams. We did that because we wanted to indicate to the garbage collector that these objects could be removed, as we saw that the close() methods doesn't do anything on their implementation.
public void destroy() {
// There is a risk that pid will be recycled, causing us to
// kill the wrong process! So we only terminate processes
// that appear to still be running. Even with this check,
// there is an unavoidable race condition here, but the window
// is very small, and OSes try hard to not recycle pids too
// soon, so this is quite safe.
synchronized (this) {
if (!hasExited)
destroyProcess(pid);
try {
stdin_stream.close();
stdout_stream.close();
stderr_stream.close();
// LINES WE ADDED
stdin_stream = null;
stdout_stream = null;
stderr_stream = null;
} catch (IOException e) {
// ignore
e.printStackTrace();
}But this didn't work at all. We saw that we were able to execute for a long time our application and that the free memory of the system wasn't decreasing as before, but we did some profiling with this custom JVM and the test application and we still see more or less the same behaviour: lots of surviving generations, at some point increase of the used heap to the maximum allowed, and finally the crash of the test app.
So sadly, we still don't have a solution for that problem. You could try to compile OpenJDK 6, modify it, and try it with your program to see if the last version works for you. Compiling OpenJDK 6 in Linux is quite easy: you just have to download the source and the binaries from here and configure your environment with something like this:
export ANT_HOME=/opt/apache-ant-1.7.1/
export ALT_BOOTDIR=/usr/lib/jvm/java-6-sun
export ALT_OUTPUTDIR=/tmp/openjdk
export ALT_BINARY_PLUGS_PATH=/opt/openjdk-binary-plugs/
export ALT_JDK_IMPORT_PATH=/usr/lib/jvm/java-6-sun
export LD_LIBRARY_PATH=
export CLASSPATH=
export JAVA_HOME=
export LANG=C
export CC=/usr/bin/gcc-4.3
export CXX=/usr/bin/g++-4.3Hope it helps Joby :)
Cheers. -
Memory leak checking doesn't work: SEGV problem while debugging with dbx
I am debugging a program which has memory leaks.
When I do the following:
dbx <program>
(dbx) run <input parameters>
everything runs fine, but as I didn't use RTC leaks checking, this is of no use. Therefore I do the following:
dbx <program>
(dbx) check -memuse
memuse checking - ON
(dbx) check -leaks -frames 8
leaks checking - ON
(dbx) run <input parameters>
which gives the following result:
Running: <program> <input parameters>
(process id 17075)
Reading rtcapihook.so
Reading rtcaudit.so
Reading libmapmalloc.so.1
Reading rtcboot.so
Reading librtc.so
RTC: Enabling Error Checking...
t@1 (l@1) signal SEGV (no mapping at the fault address) in __rtc_memcpy at 0xffffffff7312ed90
0xffffffff7312ed90: __rtc_memcpy+0x0014: st %o4, [%o0 + %o3]
dbx: Stopped within call to '__rtc_suppress_always'. Starting new command interpreter
(dbx) where -l
current thread: t@1
[1] libaio.so.1:_init(0xfffffffe52000058, 0x0, 0xffdfffff, 0xfffffffe52000030, 0x400000, 0x80000), at 0xfffffffe55907a90
[2] ld.so.1[L]:setup(0xffffffff7ffff250, 0x0, 0xffffffff7f72c2b0, 0x10000, 0x0, 0x0), at 0xffffffff7f610ba4
[3] ld.so.1[L]:_setup(0xffffffff7fffffab, 0x1f, 0xffffffff7ffff640, 0xffffffff7fffffbe, 0xffffffff7ffff628, 0xffffffff7f72dde8), at 0xffffffff7f61f24c
[4] ld.so.1[L]:_rt_boot(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xffffffff7f6052d4
I think this means that there is a problem within my 'RTC' libraries.
When I run the "version" command within my dbx session, I get following results:
(dbx) version
Machine hardware: sun4u
OS version: 5.9
Processor type: sparc
Hardware: SUNW,Sun-Fire-480R
The following components are installed on your system:
Sun Studio 9
Sun Studio 9 C Compiler
Sun Studio 9 C++ Compiler
Sun Studio 9 Tools.h++ 7.1
Sun Studio 9 C++ Standard 64-bit Class Library
Sun Studio 9 Garbage Collector
Sun Studio 9 Fortran 95
Sun Studio 9 Debugging Tools (including dbx)
Sun Studio 9 Debugger GUI
Sun Studio 9 Performance Tools (including collect, ...)
Sun Studio 9 X-Designer
Sun Studio 9 VIM editor
Sun Studio 9 XEmacs editor
Sun Studio 9 Native Connector Tool
Sun Studio 9 LockLint
Sun Studio 9 Building Software (including dmake)
Sun Studio 9 Documentation Set
version of "/opt/SUNWspro/bin/../prod/bin/../../bin/cc": Sun C 5.6 2004/07/15
version of "/opt/SUNWspro/bin/../prod/bin/../../bin/CC": Sun C++ 5.6 2004/07/15
version of "/opt/SUNWspro/bin/../prod/bin/../../bin/f90": Sun Fortran 95 8.0 2004/07/15
version of "/opt/SUNWspro/bin/../prod/bin/../../bin/dbx": Sun Dbx Debugger 7.3 2004/07/15
version of "/opt/SUNWspro/bin/../prod/bin/../../bin/analyzer": Sun Performance Analyzer 7.3 2004/07/15
version of "/opt/SUNWspro/bin/../prod/bin/../../bin/dmake": Sun Distributed Make 7.5 2004/07/15
Can anybody help me out?
Which additional information do I need to provide in order to solve this issue?
Message was edited by: B.V. (the "where -l" command has been added
B.V.Hello Maxim,
As you said, it was worth to try, but unfortunately, it was not a very good investment :-(
The patch 117564-06 has been installed, and I have retried the same procedure, but the same problem occurs.
As you have mentioned in a previous reply, I have flagged the "rtc_error_stack" before launching the "where" command.
The result is the following:
Running: <program> <input parameters>
(process id 21873)
Reading rtcapihook.so
Reading rtcaudit.so
Reading libmapmalloc.so.1
Reading rtcboot.so
Reading librtc.so
RTC: Enabling Error Checking...
t@1 (l@1) signal SEGV (no mapping at the fault address) in __rtc_memcpy at 0xffffffff7312f068
0xffffffff7312f068: __rtc_memcpy+0x0014: st %o4, [%o0 + %o3]
dbx: Stopped within call to '__rtc_suppress_always'. Starting new command interpreter
(dbx) dbxenv rtc_error_stack on
(dbx) where -l
current thread: t@1
=>[1] librtc.so[0xffffffff7de01778]:__rtc_memcpy(0xfffffffe5013fff0, 0xfffffffe50220040, 0x8, 0x
10, 0x803, 0x64a3c338), at 0xffffffff7312f068
[2] librtc.so[0xffffffff7de01778]:change_masks_work(0xfffffffeff90e878, 0xfffffffeff90e878, 0x
803, 0x2, 0x0, 0xffffffff73243608), at 0xffffffff7312e618
---------- called from debugger ----------
[3] libmd5.so.1:_init(0xfffffffe50b00228, 0x0, 0xffdfffff, 0xfffffffe50b00208, 0x400000, 0x800
00), at 0xfffffffe531016e0
[4] ld.so.1[L]:setup(0xffffffff7ffff260, 0x0, 0xffffffff7f72c2b0, 0x10000, 0x0, 0x0), at 0xfff
fffff7f610ba4
[5] ld.so.1[L]:_setup(0xffffffff7fffffa6, 0x1f, 0xffffffff7ffff650, 0xffffffff7fffffb9, 0xffff
ffff7ffff638, 0xffffffff7f72dde8), at 0xffffffff7f61f24c
[6] ld.so.1[L]:_rt_boot(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xffffffff7f6052d4
(dbx)
Any ideas?
Thanks
Dominique -
How to configure JProfiler6 to monitor tomcat6.0 for memory leak
Hello,
Can anyone help. I am tring to work out the memory leak of my Web Application running on the local server. I have been told that jprofiler is a good tool for monitoring memory. I have dowloaded jprofiler6, but I dont know how to config the setting.
what i have done is:
1.from the Quickstart window->An application server, locally or remotely
2.follow the wizard step by step
1)choose application server Apache Tomcat 6.x
2)application is located "on this computer"
3) Chose JVM vendor
4) wait for a connection from the JProfiler GUI
5) Locate the start script :C:\Program Files\Apache Software Foundation\apache-tomcat-6.0.20\bin\startup.bat
6) port:8849
7)finished
After i done these, a error message came out said:
"Could not connect ot 127.0.0.1:8849.Please make sure that the remote address is correct, the remote program is started properly and the netword route allows socket connections."Hi,
The recommended solution is to download Oracle JRockit Mission Control (available here: http://www.oracle.com/technology/software/products/jrockit/index.html) and install on your server. The installers include Oracle JRockit JVM as well as Mission Control, and are free of license checks.
If that solution for some reason is unfeasible you can download legacy development license files from here (http://download2.bea.com/pub/license/All%20Products/BEA_WebLogic.zip).
The license you are looking for is named “LIC-WLRT20.txt”. Rename it to license.bea, and follow the instructions at http://edocs.bea.com/jrockit/geninfo/diagnos/conf_run.html#wp1077371 -
Hi,
I have written a small C++ code which will load a JDBC Driver and connect to the database.
The code initially Loads the JVM & than connects to the Database.
When i tested the code with Boundscheket I found a conciderable amount of memory leak & all of these are shown in jvm.dll, zip.dll & java.dll. Is this OK? Are there memory leaks in JNI?Hi, Please go through the code & let me know if there are any memory leaks in this code. Boundchecker detects a considerable amount of memory leak :(
#include <windows.h>
#include <stdio.h>
#include <jni.h>
#include <conio.h>
#define INI_MAX_PROPERTY_VALUE 1024
#define JVMPATH "C:\\Java\\jdk1.5\\jre\\bin\\client\\jvm.dll"
#define JDBCDRIVER "-Djava.class.path=D:\\mysql-connector-java.jar";
#define CONNECTIONSTRING "jdbc:mysql://localhost:3306/test?user=root&password=root"
#define DRIVERCLASS "com/mysql/jdbc/Driver"
JavaVM *jvm = NULL;
unsigned long int jvmVersion = 0x00010004;
HINSTANCE lib_handle = NULL;
void fini() {
jint res = jvm->DestroyJavaVM();
printf ("Destroying JVM %d\n",res);
if (lib_handle) {
FreeLibrary(lib_handle);
printf ("Deleted lib handle\n");
void init()
char jvmPath[INI_MAX_PROPERTY_VALUE + 1];
jint res = -1;
JNIEnv *jniEnv = NULL;
JavaVMInitArgs vm_args;
JavaVMOption options[1];
options[0].optionString = JDBCDRIVER;
vm_args.version = jvmVersion;
vm_args.options = options;
vm_args.nOptions = 1;
vm_args.ignoreUnrecognized = JNI_TRUE;
memset(jvmPath, '\0', INI_MAX_PROPERTY_VALUE + 1);
strcpy(jvmPath,JVMPATH);
printf("Loading dll from %s\n",jvmPath);
lib_handle = LoadLibrary(jvmPath);
if (!lib_handle)
printf("Error during LoadLibrary\n");
return;
printf("JVM dll Loaded Sucessfully\n");
jint (__stdcall JNI_CreateJavaVM)( JavaVM*, void**, void*);
JNI_CreateJavaVM = (jint (__stdcall *)(JavaVM**, void**, void*))GetProcAddress(lib_handle, "JNI_CreateJavaVM");
if (NULL != JNI_CreateJavaVM)
res = (JNI_CreateJavaVM)( &jvm, (void**)&jniEnv , &vm_args);
if ( res < 0 ) {
printf("Unable to create JVM\n");
} else {
printf("JVM Created Succesfully\n");
void printException(JNIEnv *jniEnv) {
jthrowable exceptionHandle = jniEnv->ExceptionOccurred();
if ( exceptionHandle == NULL )
return;
/* Clear the exception from the enviroment*/
jniEnv->ExceptionClear();
/* Obtain the JavaException object to get its details */
jclass jThrowableClass = jniEnv->GetObjectClass(exceptionHandle);
if ( jThrowableClass == NULL ) {
if (exceptionHandle)
jniEnv->DeleteLocalRef(exceptionHandle);
exceptionHandle = NULL;
return ;
printf("\n*****----- Java Error Message is -----*****\n");
jmethodID midMessage = jniEnv->GetMethodID( jThrowableClass, "toString", "()Ljava/lang/String;" );
if ( midMessage == NULL ){
if (exceptionHandle)
jniEnv->DeleteLocalRef(exceptionHandle);
if (jThrowableClass)
jniEnv->DeleteLocalRef(jThrowableClass);
exceptionHandle = NULL;
jThrowableClass = NULL;
return;
jstring jstrRet = (jstring)jniEnv->CallObjectMethod(exceptionHandle,midMessage);
if ( jstrRet == NULL ){
if (exceptionHandle)
jniEnv->DeleteLocalRef(exceptionHandle);
if (jThrowableClass)
jniEnv->DeleteLocalRef(jThrowableClass);
exceptionHandle = NULL;
jThrowableClass = NULL;
return;
jboolean flg;
const char *pExceptionStr = jniEnv->GetStringUTFChars(jstrRet, &flg);
if ( flg == JNI_TRUE ) {
printf("%s",pExceptionStr);
jniEnv->ReleaseStringUTFChars(jstrRet, pExceptionStr);
if (exceptionHandle)
jniEnv->DeleteLocalRef(exceptionHandle);
if (jThrowableClass)
jniEnv->DeleteLocalRef(jThrowableClass);
if (jstrRet)
jniEnv->DeleteLocalRef(jstrRet);
exceptionHandle = NULL;
jThrowableClass = NULL;
jstrRet = NULL;
printf("\n**************---------End of Java Error Message ************\n");
return;
void connect() {
jint res = -1;
JNIEnv *jniEnv = NULL;
jclass clsDriver = NULL;
jmethodID colnstructorDriver = NULL;
jmethodID methodConnect = NULL;
jobject objectDriver = NULL;
jobject objectConnection = NULL;
jstring jConnectionString = NULL;
printf("Getting the Enviroment\n");
jint isPresent = jvm->GetEnv((void **)&jniEnv, jvmVersion );
if (isPresent == JNI_EDETACHED || jniEnv == NULL) {
printf("Could not get JNI Env for current thread");
return;
printf("Creating Instance of Driver\n");
clsDriver = jniEnv->FindClass(DRIVERCLASS);
colnstructorDriver = jniEnv->GetMethodID(clsDriver, "<init>", "()V");
objectDriver = jniEnv->NewObject( clsDriver, colnstructorDriver );
printf("Created Instance of Driver\n");
printf("Connecting to the Database\n");
methodConnect = jniEnv->GetMethodID(clsDriver, "connect", "(Ljava/lang/String;Ljava/util/Properties;)Ljava/sql/Connection;");
jConnectionString = jniEnv->NewStringUTF(CONNECTIONSTRING);
objectConnection = jniEnv->CallObjectMethod(objectDriver, methodConnect, jConnectionString, NULL);
if (objectConnection == NULL) {
printException(jniEnv);
printf("Unable to Connect\n");
else
printf("Connection Done\n");
//Releasing all the memory used....
if (objectConnection)
jniEnv->DeleteLocalRef(objectConnection);
if (jConnectionString)
jniEnv->DeleteLocalRef(jConnectionString);
if (objectDriver)
jniEnv->DeleteLocalRef(objectDriver);
if (clsDriver)
jniEnv->DeleteLocalRef(clsDriver);
objectConnection = NULL;
jConnectionString = NULL;
objectDriver = NULL;
clsDriver = NULL;
int main() {
printf ("Starting...\n");
init();
connect();
fini();
getch();
} -
Memory leak found in flash player active-x 'CallFunction' method.
Hello,
I think I found a memory leak that results from calling the flash player active-X object's method 'CallFunction'. Each time this method is called it seems that memory is not properly freed.
I'm attaching here a simple program I've made with C# that uses the shockwave flash object to load a SWF and continuously perform calls to it using the 'CallFunction'. It also displays the process memory so you can see how it's being increased after some time running.
In the zip file, under the bin/release directory, you'll find the compiled executable and both the test SWF (CallFunctionTest.swf) and its source (AS3 file) which is just a dummy Sprite that exposes a callable method using the ExternalInterface. The SWF has been compiled using Flex compiler (Version 3.3.0 build 4852).
The leak may become more visible after some hours running. Also, it's interesting to note that even by reloading the SWF without closing the application (by stopping and restarting the stress in my test application) the memory is not freed.
As a reference, in my computer (Intel Dual core E2180 @ 2Ghz) the test application's virtual memory (VM64) increased from 192MB to 480MB in 4 hours. In Windows XP 32-bit when this value reaches 2GB the process runs out of memory and the application crashes.
Does anyone experienced the same problem?
I have Flash Player version 10,0,32,18 installed.
Thanks,
JoanHi,
I found this problem recently.
I embedded Flash in my Visual C++ project through ActiveX, and intensively call
ShockwaveFlashObjects::IShockwaveFlash::CallFunction().
It seems that every time I invoke this function, the memory usage of my program increase about 8kB, and never goes back again. I think this is caused by the internal memory leak in Flash.
Does adobe have any plan to fix this issue?
Alvin. C. Chung -
How to determine memory leaks?
I tried in XCODE, the RUN/ Start with Performance TOol / and tried out the various options. I was running my app and looking to see if it would report increasing memory use but it seemed to be looking at my total system (i was running under the simulator). In general what is the recommended procedure for determining memory leaks, which tool to use, and what tracing can i use?
How does one look at the retain count of an object? are there system routines that have knonw leaks?You took the right path. Once instruments comes up select the Leaks tool. Turn off automatic leak detection. In your app, start off at some known state, do something, and come back to the known state and check for leaks. For instance start off in a view, do something that brings up another view then come back to the original view and check for leaks. Leaks will show you if you leaked. Since you took a very deterministic path then checked it should be straight forward to go to the code and find / fix the leaks. Leaks shows you where the code where the leak was generated.
-
Memory leak in JSpinner implementation (maybe others?)
Hi,
I am developing an application using Java and Swing, and have run into some problems with memory leaks. After examining the source code and making an example program (provided below), I can only come to the conclusion that there is a bug in the implementation of JSpinner in Sun Java 1.6.0_03.
If one uses a custom model with the JSpinner, it attaches itself as a listener to the model. However, it never removes the listening connection, even if the model is changed. This causes the JSpinner to be kept in memory as long as the model exists, even if all other references to the component have been removed.
An example program is available at http://eddie.dy.fi/~sampo/ModelTest.java . It is a simple swing program that has the JSpinner and two buttons, the first of which writes to stdout the listeners of the original model and the second changes the spinner model to a newly-created model. A sample output is below:
Running on 1.6.0_03 from Sun Microsystems Inc.
Listeners before connecting to JSpinner:
Model value is 0, 0 listeners connected:
Listeners after connecting to JSpinner:
Model value is 0, 2 listeners connected:
1: interface javax.swing.event.ChangeListener
2: javax.swing.JSpinner$ModelListener@9971ad
Listeners now:
Model value is 8, 2 listeners connected:
1: interface javax.swing.event.ChangeListener
2: javax.swing.JSpinner$ModelListener@9971ad
Changing spinner model.
Listeners now:
Model value is 8, 2 listeners connected:
1: interface javax.swing.event.ChangeListener
2: javax.swing.JSpinner$ModelListener@9971adThis shows that even though the model of the JSpinner has been changed, it still listens to the original model. I haven't looked at other components whether they retain connections to the old models as well.
In my case, I have an adaptor-model which provides a SpinnerModel interface to the actual data. The adaptor is implemented so that it listens to the underlying model only when it itself is being listened to. If the JComponents using the model were to remove the listening connections, it, too, would be automatically garbage-collected. However, since JSpinner does not remove the connections, the adaptor also continues to listen to the underlying model, and neither can be garbage-collected.
All in all, the listener-connections seem to be a very easy place to make memory leaks in Java and especially in Swing. However, as I see it, it would be a simple matter to make everything work automatically with one simple rule: Listen to the models only when necessary.
If a component is hidden (or alternatively has no contact to a parent JFrame or equivalent), it does not need to listen to the model and should remove the connections. When the component is again set visible (or connected to a frame) it can re-add the connections and re-read the current model values just as it does when initializing the component. Similarly, any adaptor-models should listen to the underlying model only when it itself is being listened to.
If the components were implemented in this way, one could simply remove a component from the frame and throw it away, and automatically any listener-connections will be removed and it can be garbage-collected. Similarly any adaptor-models are collected when they are no longer in use.
Changing the API implementation in this way would not require any changes to applications, as the only thing that changes are the listener-connections. Currently used separate connection-removing methods should still work, though they would be unnecessary any more. The API would look exactly the same from the view of an application programmer, only that she would not need to care about remnant listening connections. (As far as I can tell, the current API specification would allow the API to be implemented as described above, but it should of course require it to be implemented in such a way.)
Am I missing something, or is there some valid reason why the API is not implemented like this?
PS. I'm new to these forums, so if there is a better place to post these reports, please tell me. Thanks.Another cognition: It's the following code, that causes the memory to be accumulated:
obj = m_orb.resolve_initial_references("NameService");
ctx = NamingContextExtHelper.narrow(obj);For the first 4 calls to this code the memory usage of the nameservice is unchanged. From the 5th to the 8th call, it's increased by approx. 10KB per call. And thenceforward (beginning with the 9th call) it's increasing by approx. 10MB.
What's going wrong here? -
Memory Leaks Unresponsive Mouse
2009 8 core Mac Pro w/ 24 GB of RAM, ATI Radeon 4870, and a SeriTek PCIe eSATA card (card only has drives connected when running a manual drive clone). When running Toast 10 or Parallels 9, my RAM will fill up (I use a program called Menu Meters to monitor stuff). This machine worked just fine under OS 10.9 and earlier - no issues like this at all. ClamXAV will also completely fill the RAM up (the meter will be full green, instead of part green, then mostly grey when Toast or Parallels fills it up). I have to use Terminal to purge it so that the machine is usable.
The other thing that happens is that sometimes when the computer wakes up or I am in the middle of doing something, the mouse will still move, but the dock will not pop open and the left button the mouse doesn't respond. The right button will open the right click menu, but will not respond normally at all. I have tried a different Magic Mouse, but the problem is the same.
I thought that it may be a problem with the factory RAM and the Kingston RAM not playing nicely together. So I ran it with just the factory 8 GB and then ran it with the Kingston 16 GB - the problem persists no matter which RAM is installed. All of the RAM also passes the memory tests in Rember and TechTool.
So, I need to find out if someone thinks that maybe the bluetooth module may be going bad causing the mouse issues. I also need to find out what is causing the memory leaks. I followed the steps that someone gave on this site to boot into safe mode, repair permissions, reset PRAM, then reset SMC (or the other way around - I did it like they said to). It did nothing to fix the problem.
I need some guidance here. As I stated early on, the machine worked perfectly with OS 10.9. I have WAY too much software that I use, so doing a completely fresh install is out of the question - I don't have time to reload everything. This problem is annoying and I know that I am not the only one having these issues. Any input will be greatly appreciated. Thanks in advance.Here is the EtreCheck report:
Problem description:
Memory leaks when using Toast 10 or Parallels 9. Mouse also become unresponsive (it will move, but left button does not work and dock will not pop open - mouse problem happens independent of the RAM being filled up - different mouse was tried with same result).
EtreCheck version: 2.1.5 (108)
Report generated January 9, 2015 at 9:20:59 PM MST
Click the [Support] links for help with non-Apple products.
Click the [Details] links for more information about that line.
Click the [Adware] links for help removing adware.
Hardware Information: ℹ️
Mac Pro (Early 2009) (Verified)
Mac Pro - model: MacPro4,1
2 2.26 GHz Quad-Core Intel Xeon CPU: 8-core
24 GB RAM Upgradeable
DIMM 1
4 GB DDR3 ECC 1066 MHz ok
DIMM 2
4 GB DDR3 ECC 1066 MHz ok
DIMM 3
2 GB DDR3 ECC 1066 MHz ok
DIMM 4
2 GB DDR3 ECC 1066 MHz ok
DIMM 5
4 GB DDR3 ECC 1066 MHz ok
DIMM 6
4 GB DDR3 ECC 1066 MHz ok
DIMM 7
2 GB DDR3 ECC 1066 MHz ok
DIMM 8
2 GB DDR3 ECC 1066 MHz ok
Bluetooth: Old - Handoff/Airdrop2 not supported
Wireless: en2: 802.11 a/b/g/n
Video Information: ℹ️
ATI Radeon HD 4870 - VRAM: 512 MB
AL2216W 1680 x 1050 @ 60 Hz
System Software: ℹ️
OS X 10.10.1 (14B25) - Uptime: 2:4:35
Disk Information: ℹ️
HL-DT-ST BD-RE WH12LS39
HL-DT-ST DVDRAM GH24NS90
SAMSUNG HD103SJ disk1 : (1 TB)
EFI (disk1s1) <not mounted> : 210 MB
OS 10.10.1 (disk1s2) / : 999.35 GB (410.30 GB free)
Recovery HD (disk1s3) <not mounted> [Recovery]: 650 MB
SAMSUNG HD103SJ disk2 : (1 TB)
EFI (disk2s1) <not mounted> : 210 MB
Extra Storage (disk2s2) /Volumes/Extra Storage : 999.86 GB (554.20 GB free)
SAMSUNG HD103SJ disk3 : (1 TB)
EFI (disk3s1) <not mounted> : 210 MB
Extra Storage 2 - Scratch (disk3s2) /Volumes/Extra Storage 2 - Scratch : 999.86 GB (39.54 GB free)
WDC WD5001AALS-00LWTA0 disk0 : (500.11 GB)
EFI (disk0s1) <not mounted> : 210 MB
BOOTCAMP (disk0s2) /Volumes/BOOTCAMP : 499.90 GB (275.71 GB free)
USB Information: ℹ️
Shuttle Technology Inc. E-USB Bridge
Sony C6606
Apple, Inc. Keyboard Hub
Apple Inc. Apple Keyboard
Apple Inc. BRCM2046 Hub
Apple Inc. Bluetooth USB Host Controller
Firewire Information: ℹ️
Apple Computer, Inc. iSight 200mbit - 400mbit max
Gatekeeper: ℹ️
Anywhere
Kernel Extensions: ℹ️
/Applications/Hotspot Shield.app
[not loaded] com.anchorfree.tun (1.0) [Support]
/Applications/Parallels Desktop.app
[not loaded] com.parallels.kext.hidhook (9.0 24251.1052177) [Support]
[not loaded] com.parallels.kext.hypervisor (9.0 24251.1052177) [Support]
[not loaded] com.parallels.kext.netbridge (9.0 24251.1052177) [Support]
[not loaded] com.parallels.kext.usbconnect (9.0 24251.1052177) [Support]
[not loaded] com.parallels.kext.vnic (9.0 24251.1052177) [Support]
/Applications/TechTool Deluxe.app
[not loaded] com.micromat.iokit.ttpatadriver (5.0.0) [Support]
[not loaded] com.micromat.iokit.ttpfwdriver (5.0.0) [Support]
/Applications/TechTool Protogo/Protogo Applications/TechTool Pro 7.app
[not loaded] com.micromat.driver.spdKernel (1 - SDK 10.8) [Support]
[not loaded] com.micromat.driver.spdKernel-10-8 (1 - SDK 10.8) [Support]
/Applications/Temperature Monitor 4.94/Temperature Monitor 4.94.app
[not loaded] com.bresink.driver.BRESINKx86Monitoring (8.0) [Support]
/Applications/Toast 11 Titanium/Spin Doctor.app
[not loaded] com.hzsystems.terminus.driver (4) [Support]
/Applications/Toast 7 Titanium/Toast Titanium.app
[not loaded] com.roxio.TDIXController (1.6) [Support]
/Library/Extensions
[loaded] at.obdev.nke.LittleSnitch (4216 - SDK 10.8) [Support]
/System/Library/Extensions
[loaded] com.SiliconImage.driver.Si3132 (1.2.5) [Support]
[not loaded] com.devguru.driver.SamsungComposite (1.2.63 - SDK 10.6) [Support]
[not loaded] com.microsoft.driver.MicrosoftMouse (8.2) [Support]
[not loaded] com.roxio.BluRaySupport (1.1.6) [Support]
/System/Library/Extensions/MicrosoftMouse.kext/Contents/PlugIns
[not loaded] com.microsoft.driver.MicrosoftMouseBluetooth (8.2) [Support]
[not loaded] com.microsoft.driver.MicrosoftMouseUSB (8.2) [Support]
/System/Library/Extensions/ssuddrv.kext/Contents/PlugIns
[not loaded] com.devguru.driver.SamsungACMControl (1.2.63 - SDK 10.6) [Support]
[not loaded] com.devguru.driver.SamsungACMData (1.2.63 - SDK 10.6) [Support]
[not loaded] com.devguru.driver.SamsungMTP (1.2.63 - SDK 10.5) [Support]
[not loaded] com.devguru.driver.SamsungSerial (1.2.63 - SDK 10.6) [Support]
Startup Items: ℹ️
HP IO: Path: /Library/StartupItems/HP IO
SiCoreService: Path: /Library/StartupItems/SiCoreService
Startup items are obsolete in OS X Yosemite
Launch Agents: ℹ️
[running] at.obdev.LittleSnitchUIAgent.plist [Support]
[loaded] com.coupons.coupond.plist [Support]
[running] com.micromat.TechToolProAgent.plist [Support]
[loaded] com.oracle.java.Java-Updater.plist [Support]
[invalid?] com.parallels.mobile.prl_deskctl_agent.launchagent.plist [Support]
[invalid?] com.parallels.mobile.startgui.launchagent.plist [Support]
[not loaded] com.teamviewer.teamviewer.plist [Support]
[not loaded] com.teamviewer.teamviewer_desktop.plist [Support]
Launch Daemons: ℹ️
[running] at.obdev.littlesnitchd.plist [Support]
[loaded] com.adobe.fpsaud.plist [Support]
[loaded] com.bombich.ccc.plist [Support]
[loaded] com.hp.lightscribe.plist [Support]
[running] com.micromat.TechToolProDaemon.plist [Support]
[loaded] com.microsoft.office.licensing.helper.plist [Support]
[loaded] com.oracle.java.Helper-Tool.plist [Support]
[invalid?] com.parallels.mobile.dispatcher.launchdaemon.plist [Support]
[failed] com.parallels.mobile.kextloader.launchdaemon.plist [Support] [Details]
[not loaded] com.teamviewer.teamviewer_service.plist [Support]
User Launch Agents: ℹ️
[loaded] com.facebook.videochat.[redacted].plist [Support]
[loaded] com.google.keystone.agent.plist [Support]
[running] com.nchsoftware.expressinvoice.agent.plist [Support]
[loaded] uk.co.markallan.clamxav.clamscan.plist [Support]
[loaded] uk.co.markallan.clamxav.freshclam.plist [Support]
User Login Items: ℹ️
iTunesHelper Application (/Applications/iTunes.app/Contents/MacOS/iTunesHelper.app)
SMARTReporter Application (/Applications/SMARTReporter/SMARTReporter.app)
BetterSnapTool Application (/Applications/BetterSnapTool.app)
smcFanControl Application (/Applications/smcfancontrol_2_2_2/smcFanControl.app)
Android File Transfer Agent Application (/Users/[redacted]/Library/Application Support/Google/Android File Transfer/Android File Transfer Agent.app)
Internet Plug-ins: ℹ️
JavaAppletPlugin: Version: Java 8 Update 25 Check version
FlashPlayer-10.6: Version: 16.0.0.235 - SDK 10.6 [Support]
Default Browser: Version: 600 - SDK 10.10
AdobePDFViewerNPAPI: Version: 11.0.06 - SDK 10.6 [Support]
CouponPrinter-FireFox_v2: Version: 5.0.3 - SDK 10.6 [Support]
AdobePDFViewer: Version: 11.0.06 - SDK 10.6 [Support]
Flash Player: Version: 16.0.0.235 - SDK 10.6 [Support]
QuickTime Plugin: Version: 7.7.3
SharePointBrowserPlugin: Version: 14.4.6 - SDK 10.6 [Support]
iPhotoPhotocast: Version: 7.0 - SDK 10.8
Safari Extensions: ℹ️
AdBlock [Installed]
F.B. Purity - Cleans Up Facebook [Installed]
OpenIE [Installed]
3rd Party Preference Panes: ℹ️
Déjà Vu [Support]
Flash Player [Support]
FUSE for OS X (OSXFUSE) [Support]
Java [Support]
MacFUSE [Support]
MenuMeters [Support]
Microsoft Mouse [Support]
MouseLocator [Support]
NTFS-3G [Support]
TechTool Protection [Support]
Time Machine: ℹ️
Time Machine not configured!
Top Processes by CPU: ℹ️
48% plugin-container
39% fontd
6% firefox
5% WindowServer
4% bluetoothaudiod
Top Processes by Memory: ℹ️
928 MB firefox
412 MB plugin-container
258 MB mds_stores
180 MB iTunes
129 MB Finder
Virtual Memory Information: ℹ️
19.38 GB Free RAM
3.11 GB Active RAM
1.88 GB Inactive RAM
1.38 GB Wired RAM
2.40 GB Page-ins
0 B Page-outs
Diagnostics Information: ℹ️
Jan 9, 2015, 07:16:57 PM Self test - passed
Jan 8, 2015, 11:37:48 AM /Library/Logs/DiagnosticReports/ClamXav_2015-01-08-113748_[redacted].cpu_resour ce.diag [Details]
Jan 8, 2015, 11:21:46 AM /Users/[redacted]/Library/Logs/DiagnosticReports/Preview_2015-01-08-112146_[red acted].crash -
T61 with memory leak on XP for driver battc.sys
Hi
I have an issue with XP where the battc.sys module that is part of Windows XP and responsible for the kernel side of monitoring the battery status. This module continually leaks memory until I have no more kernel paged resources left and programs start to fail on my laptop.
I raised a support case for this with Microsoft and after some investigation and upgrading to the latest T61 power drivers that were released a few days ago on the Lenovo site, MS support told me it is a fault of the T61 and that I would need to disable Microsoft APCI support to stop this memory leak from occuring and to take the issue up with Lenovo.
I have used the verifier tool to confirm that it is the Windows XP SP3 battc.sys memory module leaking.
I am running the latest T61 drivers and fully patch with MS drivers on SP3.
As MS have told me it is the fault of the T61 I am posting this issue here.
Thanks
StephenIt is memory available to the kernelwhich itself does not show under a process in task manager as far as I am aware (unles it is taken account as part of the system process).
The best way to measure the available kernel memory space available is by using sysinternals procexp.
You need to download procexp and also install the windows debugging tools from Microsoft. Then in procexp set the "Options > Configure Symbols : Debughlp.dll path" to the new debughlp.dll installed with your debu tools and set the symbols path to srv*c:\Symbols*http://msdl.microsoft.com/download/symbols
Then you can choose in procexp "View > System Information" and see the used and total paged and non-paged kernel memory space.
poolmon helps monitor all the symbols that are taking up this memory and verifier lets you drill down to the exact module and the changes in memory for a module that is occuring.
Here are two really good links on it
http://blogs.msdn.com/ntdebugging/archive/2006/12/18/Understanding-Pool-Consumption-and-Event-ID_3A0...
http://blogs.msdn.com/ntdebugging/archive/2008/05/08/tracking-down-mmst-paged-pool-usage.aspx
In my poolmon i notice that Mmst and battc are taking alot of memory after my computer has been running for some time. Mmst being high is normal but battc should not continually be growing as it is which is why I raised the case to MS but they want verification it is not a Lenovo issue.
Maybe you are looking for
-
how do i download 10.9 or 10.8 if i have a 2008 mac book pro running 10.5.8
-
UWL is appearing in POWL instead of Shopping car iVew
Hi All, UWL Screen is appearing in POWL (Personal Object Work list) instead of Shopping cart in Portal. The source sytsem for the shopping cart is SRM system(backend system). if any body is having the idea on this ,you can pls comeup with your vie
-
Is Headstart 6i compatible with all Designer 6i versions? Where to download?
We consider upgrading from Designer 6.0 / Headstart patch 12.4 to Designer 6i / Headstart 6i, as we are now migrating from a 7.3.4 db to 8.1.7 and from Win98 to Win2000. I have seen documentation on migration issues from Designer 6.0 to 6i rel.2, and
-
how do you open a adobe document that i did on photoshop cc on ios. i want to do this because i want to post this photo on instagram@
-
Get audiobooks in the correct place,
Hi, when I go to import an audiobook from a CD, I join the tracks and in Get Info select Audiobook but it still ends up in my Music file when I import the CD, how do I get the Audiobooks into the Books section? iTunes 11 with Windows8 Thanks