生成环境java内存占用很高排查 (尚未解决)

  • 命令top查看对应的java进程的pid,记录下该数值(16066)

  • 定位线程问题(通过命令查看16066进程的线程情况),命令:ps p 16066 -L -o pcpu,pmem,pid,tid,time,tname,cmd

  • 输出堆栈信息,将PID为16066的堆栈信息打印到jstack.log中,命令:jstack -l 16066 > /logs/jvm/jstack.log

jvm运行时会生成一个目录hsperfdata_$USER($USER是启动java进程的用户),在linux中默认是/tmp。目录下会有些pid文件,存放jvm进程信息。 jps、jstack等工具读取/tmp/hsperfdata_$USER下的pid文件获取连接信息。jstack报错:Unable to open socket file。是因为这个java进程的pid文件删除了。

为什么会被删除呢?这是因为linux操作系统为了防止/tmp目录文件过多,有个删除管理机制:tmpwatch。

查看关键配置/etc/cron.daily/tmpwatch

flags=-umc /usr/sbin/tmpwatch "$flags" 
-x /tmp/.X11-unix -x /tmp/.XIM-unix \ 
 -x /tmp/.font-unix -x /tmp/.ICE-unix 
-x /tmp/.Test-unix 240 /tmp /usr/sbin/tmpwatch "$flags" 720 /var/tmp 
for d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; 
do if [ -d "$d" ]; then /usr/sbin/tmpwatch "$flags" -f 720 "$d" fi done

系统每天会用tmpwatch命令检查并删除 /tmp 下超过240小时未访问过的文件和目录。

解决办法

修改tmpwatch设置 排查对应的/tmp/hsperfdata_*的目录,让jvm自己来管理,保证jps,jstat等命令可用。 修改/etc/cron.daily/tmpwatch:

/usr/sbin/tmpwatch "$flags" -x /tmp/hsperfdata_* -x /tmp/.X11-unix -x /tmp/.XIM-unix
 -x /tmp/.font-unix -x /tmp/.ICE-unix -x /tmp/.Test-unix 240 /tmp

idea占用内存太高

参考

  1. https://blog.csdn.net/zzzgd_666/article/details/81126822
  • 首先修改和idea64.exe文件同目录的idea64.exe.vmoptions文件(32位的文件名为idea.exe.vmoptions),开启server模式并加大最大内存,内容如下:
# custom IntelliJ IDEA VM options
-server
-Xms1825m
-Xmx1825m
-XX:ReservedCodeCacheSize=240m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-Djdk.http.auth.tunneling.disabledSchemes=""
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow

  • 点击 File -> Invalidate Caches / Restart...菜单,然后点击 Invalidate and Restart按钮清空并重建索引,然后重启。再次启动程序之后,会首先重建索引和缓存。

jackson 反序列化报错 InvalidDefinitionException: Cannot construct instance ofcom.xxx, problem:java.lang.NullPointerException`

jackson 反序列化的时候,对象需要有一个默认方法,否则无法构建对象

参考: https://www.jianshu.com/p/5f693b4c9468

Unit测试中ThreadPoolTaskExecutor中任务退出

因为@Test中的主线程已经退出,所以其他的异步线程池不能继续进行。

Dell 选择U盘启动

参考文档: http://www.udaxia.com/upqd/11688.html

最后更新: 6/9/2019, 10:18:31 PM
本文浏览量