jvm
javHao
这个作者很懒,什么都没留下…
展开
-
outofmemoryerror: unable to create new native thread
错误原因是创建的线程数量达到了上限 解决 1:linux下调调整系统参数 ulimit -a 句柄数量 echo 12000> /proc/sys/kernel/threads-max和线程数量 2降低xss等参数 java的线程实际使用的是操作系统的线程 这是一直被诟病的地方 利用os线程去操作线程栈等 而每一个os线程也会有自己独特的线程缓存 在堆空间中分了一部分线程缓存给每一个线程 所以xss线程缓存越小 理应线程总数就越大 3调整代码 改变线程池创建使用方式 ...原创 2021-07-01 12:52:58 · 248 阅读 · 0 评论 -
java cpu占用过高怎么处理??
top -c查看CPU使用率高的进程的PID top -p PID -H查看CPU使用率高的线程信息 记下对应线程的PID jstack PID > xxx.log输出java应用当前堆栈信息到文件 使用jstat -gc PID查看jvm的GC情况 jmap -histo:live PID > xxx.log将内存对象统计情况输出到文件 可以使用jmap -dump:live,format=b,file=xxx.hprof PID命令来输出内存对象的明细,来定位具体方法位置。这个命令是将内存原创 2021-01-05 11:40:48 · 513 阅读 · 0 评论