64位Linux下Java进程堆外内存迷之64M问题
起因,监控系统检查到link机器内存耗尽,用top查看,果然有一个java进程占用了近24g内存(包括VIRT和RES),但是启动java进程的参数是java -server -Xmx12g -Xms12g -XX:PermSize=50m,理论上只应该占用12g再多一些,所以问题就在这个进程了。此进程主要处理Socket IO读写,使用的是Java NIO。
起因,监控系统检查到link机器内存耗尽,用top查看,果然有一个java进程占用了近24g内存(包括VIRT和RES),但是启动java进程的参数是java -server -Xmx12g -Xms12g -XX:PermSize=50m,理论上只应该占用12g再多一些,所以问题就在这个进程了。此进程主要处理Socket IO读写,使用的是Java NIO。
大概两周前,周末在家一次玩dota的时候,电脑突然变卡然后自动关机,整个机器很烫,再开机黑屏显示FAN ERORR又自动关机,吓坏了赶紧让其温度冷却下来再开机倒又开起来了。知道是风扇出问题后,之后因为一直还能用也就懒得换,打游戏的时候特别小心调低CPU性能和屏幕亮度,但是CPU温度还是会飙到80°,很恐怖 [em82]。
然后直到上周六晚上也在打dota,温度也一直飙高,游戏也卡了,吓得直接退出游戏,然后第二天就再也开不了机了,每次都是FAN ERROR。 阅读更多…