<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[weixin_44528543的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/weixin_44528543</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; weixin_44528543]]></copyright><item><title><![CDATA[CPU100%排查总结]]></title><link>https://blog.youkuaiyun.com/weixin_44528543/article/details/109482039</link><guid>https://blog.youkuaiyun.com/weixin_44528543/article/details/109482039</guid><author>weixin_44528543</author><pubDate>Tue, 03 Nov 2020 23:58:38 +0800</pubDate><description><![CDATA[#系统：centos7；openjdk：1.8；
1、简单介绍：
#1 若CPU100%，可能所有进程都不能正常干活（假死）

#2 Cpu100%出现情况：没有多余CPU切换（所有CPU均被占用，且不能被释放）

#3 Cpu100%出现条件：死循环、循环里无阻塞、只有计算型任务

注：System.out.println方法有IO，方法里有synchronized关键字、有阻塞。

2、CPU100%排查
#1 jcmd或jps获取当前异常进程pid
#注 centos7自带的openjdk1.8若没有]]></description><category></category></item><item><title><![CDATA[java堆内存优化、out of memory解决方案]]></title><link>https://blog.youkuaiyun.com/weixin_44528543/article/details/109481662</link><guid>https://blog.youkuaiyun.com/weixin_44528543/article/details/109481662</guid><author>weixin_44528543</author><pubDate>Tue, 03 Nov 2020 23:35:06 +0800</pubDate><description><![CDATA[#系统：centos7；openjdk：1.8；
#不同硬件不同操作系统安装的不同版本虚拟机可能会有些许出入，本文仅供参考
1、内存调优
#1 设置-Xms和-Xmx相等，避免内存频繁回收申请
#2 -XX:+AlawaysPreTouch可避免预热：
	如果程序最开始运行就需要申请3g内存，该参数可以帮助直接申请3g内存，避免频繁申请内存。

2、如果确定问题API，推荐BTrace工具追踪该API并打印调用情况
3、out of memory解决方案（以下均假设不确定哪出问题）
#1 堆内存out of]]></description><category></category></item><item><title><![CDATA[java百万连接报Too many open files Socket Exception总结]]></title><link>https://blog.youkuaiyun.com/weixin_44528543/article/details/109481149</link><guid>https://blog.youkuaiyun.com/weixin_44528543/article/details/109481149</guid><author>weixin_44528543</author><pubDate>Tue, 03 Nov 2020 23:04:21 +0800</pubDate><description><![CDATA[1、系统：centos7；jdk：1.8；
2、自己的笔记本装的虚拟机模拟socket服务端和客户端：
客户端的6万个端口轮流去访问服务端的20端口（端口复用），会报Too many open files，是一个Socket Exception。
3、在centos7终端输入ulimit -a，可以看到有一项open files的默认值为1024；
也可以直接输入ulimit -n，如图：

4、服务端和测试机都改一下
# 进程最大文件打开添加参数最大限制
vi /etc/security/limits.c]]></description><category></category></item></channel></rss>