ES 1.7.x heap reclamation issue

I've been running into issues with ES 1.7.3 (and previous 1.7.x versions) on JDK 1.8 where heap reclamations gradually elide with one another, to the point where they then rise to thresholds that require a manual rolling restart? The following link is a snapshot of heap usage for our ES nodes from a Grafana dashboard over a 30 day span. The 2 larger GC's were manual restarts of our cluster.

It is hard to tell what the cause is but usually memory issues in 1.7 are caused by field data. You should be able to convert that to doc values to save memory. Doc values are the default for indexes created in 2.x and above. There are other memory consumers, like norms which were moved to disk in 2.x somewhere as well. You should be able to jump around the various stats APIs to see what might be consuming the memory. Or you can just blindly convert to doc values because it'll probably help.