错误总结
文章平均质量分 95
喝醉的咕咕鸟
每天学一点,进步一点点
展开
-
shiro继承redis序列化失败-----坑
shiro继承redis进行session的管理:package com.maobc.common.core.redis;import lombok.Data;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.factory.annotation.Value...原创 2018-12-05 10:55:17 · 9100 阅读 · 4 评论 -
Redis:fork: Out of memory
线上项目报错,根据设置的报错发送邮件发时,通过查看邮件发现线上redis发生了异常:Can't save in background: fork: Out of memory 根据分析发现: redis在fork的时候,当这个进程的内存空间以G为单位时,fork就成为一件很恐怖的操作。何况在16G内存的主机上fork 14G内存的进程呢?肯定会报内存无法分配的。更可气的是...原创 2019-01-18 23:24:18 · 898 阅读 · 0 评论 -
StackOverflowError
记录遇到的异常: StackOverFlower:栈空间不足异常。原因: 栈中保存的是存放基本类型 的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new出来的对象)或者常量池中(字符串常量对象存放的常量池中),局部变量【注意:(方法中的局部变量使用final修饰后,放在堆中,而不是栈中)】。案例:public class StackOverfl...原创 2019-04-23 23:20:38 · 1992 阅读 · 0 评论 -
Java heap space
Java heap space:堆空间不足。原因:堆中存在大量的对象,垃圾回收器收集不过来。导致程序奔溃。模拟案例:public class MoreObjectDemo { public static void main(String[] args) { StackOverflowError(); } public static v...原创 2019-04-23 23:20:18 · 8157 阅读 · 0 评论 -
GC overhead limit exceeded
overhead limit exceeded:垃圾回收不过来。GC占用cpu过高,一直在运行。Sun 官方对此的定义:超过98%的时间用来做GC并且回收了不到2%的堆内存时会抛出此异常。模拟案例:public class GCOverhead { public static void main(String[] args) { int a=0; ...原创 2019-04-23 23:20:25 · 1662 阅读 · 0 评论 -
Direct buffer memory
Direct buffer memory:主要应NIO引起的。原因: Java8出现了NIO,缓存,通道,选择器。在 写NIO程序的时候,经常使用ByteBuffer来读或者写入数据,这是一种基于通道( Channel)与缓冲区( Buffer)的I/0方式.它可以使用 Native函数库直接分配堆外内存,然后通过一个存做在Java里面的 DirectByteBuffer对作为这...原创 2019-04-23 23:20:31 · 10060 阅读 · 4 评论 -
unable to create new native thread
unable to create new native thread:无法创建新的线程。原因: 1.应用程序创建了太多的线程,超过了系统承载。 2.服务器不允许你的应用创建这么多线程。linux用户除了Root以外默认创建线程数是1024. 解决办法: 1.修改用户创建线程数量。查看当前用户的线程数量。ulimit -u 修改:vim /etc/security...原创 2019-04-23 23:20:46 · 20959 阅读 · 0 评论 -
Metaspace异常
Metaspace:本地内存不足。存储: 虚拟机加载的类信息。 常量池 静态变量即使编译后的代码模拟案例:public class MateSpaceDemo { static class demo{ } //-XX:MetaspaceSize=10m -XX:MaxMetaspaceSize=10m -XX:+PrintGCD...原创 2019-04-23 23:20:55 · 743 阅读 · 0 评论 -
线上cpu异常分析步骤
解决: 1.top 找出cpu占比最高的。 2.jps /ps -ef 定位到那个后台程序的问题。 3.定位到具体的线程或者代码。ps -mp 进程 -o THREAD,tid,time 4.将需要的线程ID转换成16进制格式(英文字母小写) 5.jstack 进程ID | grep tid(16进制线程Id)-A60linux性能分析:...原创 2019-05-11 22:20:27 · 182 阅读 · 0 评论