java 堆外内存泄漏 排查

online的环境中发现有一个java进程内存占用一直增大,xmx设置的6144m 但是用top -p 查询占用了8.9G内存,上次用jmap查看堆内存只有3个多G 应该继续排查一下堆外内存可能存在的内存泄漏问题。

[root@localhost logs]# top -p 755

top - 09:56:24 up 5 days, 1:56, 2 users, load average: 1.27, 3.27, 5.02
Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie
%Cpu(s): 2.6 us, 0.5 sy, 0.0 ni, 96.0 id, 0.8 wa, 0.0 hi, 0.1 si, 0.0 st
KiB Mem : 32661788 total, 259524 free, 30131472 used, 2270792 buff/cache
KiB Swap: 31248380 total, 19591088 free, 11657292 used. 2014948 avail Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
755 root 20 0 17.9g 8.9g 6808 S 1.3 28.4 441:16.82 java

https://blog.csdn.net/hellozhxy/article/details/95203462

https://www.jianshu.com/p/7350a95506f8

https://www.sohu.com/a/302097540_494943

MALLOC_ARENA_MAX=4
export JAVA_HOME JRE_HOME MYCAT_HOME PATH CLASSPATH MALLOC_ARENA_MAX

GZIPInputStream 流未关闭引起的内存泄漏问题

http://www.manongjc.com/detail/13-krtrlgtfgxaihpo.html

https://www.jianshu.com/p/5841df465eb9

https://www.cnblogs.com/migoo/p/11752667.html

 http://www.mytju.com/classCode/news_readNews.asp?newsID=950

 https://www.jianshu.com/p/f6baff3c0c5d

# 总核数 = 物理CPU个数 X 每颗物理CPU的核数
# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数

# 查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
或grep 'physical id' /proc/cpuinfo | sort -u | wc -l

# 查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq
或者grep 'core id' /proc/cpuinfo | sort -u | wc -l

# 查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l
或者grep 'processor' /proc/cpuinfo | sort -u | wc -l
# 查看CPU信息(型号)
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
或者dmidecode -s processor-version
#查看内 存信息
cat /proc/meminfo

原文地址:https://www.cnblogs.com/xiaohanlin/p/12855535.html