If you suffer from Jira errors like internal server error when rendering, internal server error when requesting resource and permission denied, they may be caused by several factors.
The first one is a bad plugin. Unfortunately, there’s no universal fix here – analyze log files to find and isolate the sucker. Another reason is lack of memory. Jira is Java application, and Java apps are well-know resource hogs. In my case Jira runs on a virtual server, so there is an easy way to provide more resource for it. Here’s what I found out. The left graph represents the test case where Jira had only half a gigabyte of available RAM. It used all of it, and crashed. However, when RAM was increased to 2 Gigs, a scavenger removed all unused data before Jira crashed, effectively keeping the RAM used within 1 Gb. Jira ceased to crash and freeze. This is what the right graph shows. So, 2 Gb RAM for Jira is enough to operate with half a gigabyte of data.