What makes a running instance shutdown itself could be a very complicated topic to talk about, because we have to know what instance was thinking. What factors to make instance decide to run away from current situation? Was it trying to protect itself from further damage? In my cases, those causes seem to point to one thing: IO issue.
Here are some errors that cause IO failures: