I've built a spring-boot app to sniff document contents in computer.
the source: https://github.com/just226/messy-doc
after the sniffing work done, I did some native memory tracking and found that the OTHER memory swelled huge.
Other (reserved=901MB +821MB, committed=901MB +821MB) (malloc=901MB +821MB #26)
What does Other memory use for and is it some kinds of memory leak?
then how to identify the memory and do some optimize in the code or let it free.
Native Memory Tracking:
(Omitting categories weighting less than 1MB)
Total: reserved=4559MB +903MB, committed=1512MB +1106MB
- Java Heap (reserved=2048MB, committed=324MB +155MB)
(mmap: reserved=2048MB, committed=324MB +155MB)
- Class (reserved=1026MB +1MB, committed=12MB +5MB)
(classes #15684 +4582)
( instance classes #14564 +4254, array classes #1120 +328)
(malloc=2MB +1MB #47199 +22834)
(mmap: reserved=1024MB, committed=10MB +4MB)
: ( Metadata)
( reserved=80MB +32MB, committed=77MB +34MB)
( used=76MB +34MB)
( waste=0MB =0.45%)
: ( Class space)
( reserved=1024MB, committed=10MB +4MB)
( used=10MB +4MB)
( waste=0MB =3.88%)
- Thread (reserved=63MB +7MB, committed=3MB)
(thread #0)
(stack: reserved=63MB +7MB, committed=3MB)
- Code (reserved=247MB +4MB, committed=65MB +47MB)
(malloc=5MB +4MB #18065 +11571)
(mmap: reserved=242MB, committed=60MB +43MB)
- GC (reserved=149MB +23MB, committed=85MB +29MB)
(malloc=41MB +23MB #46820 +41274)
(mmap: reserved=109MB, committed=45MB +6MB)
- Internal (reserved=4MB +4MB, committed=4MB +4MB)
(malloc=4MB +4MB #43693 +35806)
- Other (reserved=901MB +821MB, committed=901MB +821MB)
(malloc=901MB +821MB #26)
- Symbol (reserved=18MB +6MB, committed=18MB +6MB)
(malloc=16MB +5MB #474310 +185639)
(arena=2MB +1 #1)
- Native Memory Tracking (reserved=10MB +5MB, committed=10MB +5MB)
(tracking overhead=10MB +5MB)
- Shared class space (reserved=12MB, committed=12MB)
(mmap: reserved=12MB, committed=12MB)
- Module (reserved=1MB, committed=1MB)
(malloc=1MB #3395 +1237)
- Metaspace (reserved=80MB +32MB, committed=77MB +35MB)
(mmap: reserved=80MB +32MB, committed=77MB +34MB)
work around the problem