原配置: -Xmx1500m -Xms500m -XX:UseCMS,
考略浮动堆内存对cpu资源的浪费,以及堆内存也不大,并且进程也不是需要响应非常快。
改配置:-Xmx1500m -Xms1500m -Xss256k
...
然后mysql性能下降厉害。 查机器状态。发现磁盘io暴了。
查看改后的进程。 吃io厉害。不断的读写磁盘。 导致mysql使用磁盘io能力下降。
再分析下,限制堆内存,而机器内存不够的时候,进程把硬盘当作内存使用,这个时候读写内存变成了读写硬盘。
由于堆固定,一部分硬盘就长期作为了内存使用。 导致消耗io严重。
解决办法:改回去。。。。 固定堆内存固然有好处。。 但是当内存不够用的时候,使用浮动内存+cms垃圾收集能很好的让进程尽量使用内存而不是磁盘io,特别是磁盘io压力大的服务器,慎重。。。