jvm参数优化采坑记-(用交换分区的当内存的坑)

原配置: -Xmx1500m -Xms500m -XX:UseCMS,  

考略浮动堆内存对cpu资源的浪费,以及堆内存也不大,并且进程也不是需要响应非常快。

改配置:-Xmx1500m -Xms1500m -Xss256k 

...

然后mysql性能下降厉害。  查机器状态。发现磁盘io暴了。 

查看改后的进程。 吃io厉害。不断的读写磁盘。  导致mysql使用磁盘io能力下降。

再分析下,限制堆内存,而机器内存不够的时候,进程把硬盘当作内存使用,这个时候读写内存变成了读写硬盘。

由于堆固定,一部分硬盘就长期作为了内存使用。 导致消耗io严重。 

 

解决办法:改回去。。。。   固定堆内存固然有好处。。  但是当内存不够用的时候,使用浮动内存+cms垃圾收集能很好的让进程尽量使用内存而不是磁盘io,特别是磁盘io压力大的服务器,慎重。。。   

 

 

你可能感兴趣的:(java)