一招定位JAVA_OOM中的大对象
java开发中,最令人憎恨的便是跑着跑着出现OOM 内存溢出对于新手来说最为头痛,隐蔽且难以排查。 对于正常应用来说500MB内存足够了,出现OOM一般是内存中持有太多不可释放对象,主要排查以下几点: list 或者 MAP 装太多,而且不释放,较多存在于静态引用中 数据库或者读文件一次读取太多了,比如20W行数据库记录一下加载到内存中, 较多存在于没有limit参数,或者统计...
java开发中,最令人憎恨的便是跑着跑着出现OOM 内存溢出对于新手来说最为头痛,隐蔽且难以排查。 对于正常应用来说500MB内存足够了,出现OOM一般是内存中持有太多不可释放对象,主要排查以下几点: list 或者 MAP 装太多,而且不释放,较多存在于静态引用中 数据库或者读文件一次读取太多了,比如20W行数据库记录一下加载到内存中, 较多存在于没有limit参数,或者统计...
家里一直都有远程开3389的需要,一直使用的是frp. 最近发现总是经常掉线。也不清楚原因,后调查出来原来是由于 我命令行窗口一般启动的比较多,有时候就会去点一下(选择复制内容),如下: 有时候就会点错到frp的窗口。在windows命令行中执行此操作时,运行的应用将会被挂起。所以通讯就被切断了。 后来就想隐藏命令执行窗口,这样就可以避免这些问题了。 网上搜索了一圈,bat本身执行...
测试环境:1.1亿数据,约22GB大小,6核12线程32GBmysql8,ssd硬盘 表为常见的订单表,表中26个字段。 网上传说limit不同的使用方式对性能影响很大,自己也有点好奇,于是直接做个测试。 下面直接展示mysql在进行分页limit查询时,不同数据量对性能的影响: # 0.021s 很快 select * from cp_orders limit 100 # 0...
今天同事使用jmeter压测订单模块,一会儿发现数据库访问不了,登录服务器上看到数据库服务器负载150, 我擦。 然后一看进程,有很多jmeter的进程,明显不正常,随便拿一个使用kill -9也杀不死 最后网上搜索一圈,得知此进程已经变为僵尸进程。只能杀其父进程。 首先使用 ps aux | grep pid 查看结果: [rsrlogin@xuid17 ~]$ ps aux | g...
小皮面板对于php搭建开发测试环境太友好了,这里强推一波; 最近接触一个php项目,前端使用的是vue. 小皮面板nginx+php配置完成后。不能正常访问页面,提示404; 后经多方查找,nginx对于php映射需要单独配置,配置内容如下: server { listen 80; server_name ces ces; ...
这几天想将博客迁移到我服务器上,因为baidu不能收录到github的内容. 于是想了个方案,思路如下: 从github将仓库pull到服务器上 使用nginx作为web服务器 服务器建一个脚本,每5分钟从拉取一次,然后再编译下就ok 思路很简单,但是实践的时候出现了不少问题,特此记录一下。 第一个问题 脚本写好并配置到crontab 后, 不执行,也不知道是出了啥问题...
目录: mysql常用命令 my2sql binlog日志解析 mysql用户及授权 mysql常用命令 看所有线程:show full processlist; 杀死进程: kill 60882 ; 查看当前未提交的事务: ` select * from information_schema.innodb_trx;` 查看用户下的线程: select *...
对于正常开发来说, linux常用的命令如下: 进程列表:top 内存使用情况: free -m 磁盘及文件情况: df -h cpu信息: cat /proc/cpuinfo 进程详情: ` ll /proc//` 后台任务启动: nohup & 指定路径下按关键字查找文件 进程列表:top top 是使用频率很高的命令,可以查看进行列表, c...
一份关于上亿级别单表测试记录,大家可以看看找到优化方案和灵感 这张表大约有1.1亿数据, 是一个订单表,整张表数据22gb;使用mysql8 表格式如下: CREATE TABLE `cp_orders` ( `code` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增主键(订单号)', `a_code` int(11) DEFAULT NU...
目录: jvm常用 jvm常用 导出线程快照:jstack 进程id dump出堆栈: jmap -dump:format=b,file=文件名.hprof <进程ID> 打印GC信息(每1s一次,共4次): jstat -gc 进程id 1000 4 打印GC信息,百分比(每1s一次,共4次)jstat -gcutil 进程id 1000 4