High memory usage scenarios may sometimes be trivial to
troubleshoot e.g. when memory parameters are explicitly set too
high. Investigations into such issues may also prove to be very
difficult when memory pressure is a result of specific workload
patterns or better yet, engine bugs.
Advanced memory troubleshooting in MySQL was never easy but
thanks to performance_schema memory instrumentation in MySQL
5.7, we finally have some tools to work with. There are still
situations when performance schema will not be sufficient:
- On servers running MyQL <5.7 (well... vast majority),
- When the component you're interested in is not instrumented,
- When you don't fancy reading cryptic names of performance schema instruments. While I do love performance schema, this is no joke: OS-level heap profiles are much …