When I first installed JIRA it consumed about 250Mb of my RAM. I then thought "oh my, that's a lot", well for me at least that's a lot.
After creating a project in JIRA (yes, 250Mb memory usage without any issues... in the system) I was recommended by JIRA to reindex. So I did. And then the memory usage increased to about 700Mb. Now, I understand that the reason for the increase is the indexing. But what I would like to know is how to decrease the memory usage. What I would like to index are my issues and projects. What is JIRA indexing that will require 700Mb in-memory? And how do I fix this?
BTW how big is your Jira? How many issues/projects
Are you using the JIRA Standalone distribution? In that case I would not include the required resurces by Tomcat.
Tomcat or any compatible Java Web App server is mandatory to run JIRA, but I think you don't should include those resources in the JIRA account as you don't include the RAM required to run your OS.
In order to get the approximate real RAM required by JIRA you should deploy the WAR file on an existing Tomcat server and check the vailable RAM before and after it.
The Standalone distribution is really a Tomcat Server plus the JIRA web app already deployed.
Great advice, I will try this. Thanks.
You can also left JIRA Standalone and deploy all your other Java Web Apps on it. Simply, create a webapps directory by hand and deploy all your wars there. It's just what my JIRA app does.
BTW, I've deployed JIRA Standalone plus another Tomcat with several web apps running on a hosted Linux with 1 Gb of RAM. Go to www.svnflash.com and and www.docminer.com and click on the Live Demos. Both are running on the same host but on different Tomcats. DocMiner is deployed on the same Tomcat provided by JIRA Standalone. You may compare performance with your ISP. It's for public demo, so feel free to navigate and use it, create issues and so on. The JIRA java process is consuming +780 Mb of RAM (1 project and 10 issues). To access JIRA click on any issue displayed on the document.
Indexing generally takes place in the background, you don't really have to do a full re-index just because you've made a small modification. I know Jira keeps telling you but it's a pain because project administrators can see it which means that when I modify a custom field, I get emails from project leads telling me that "jira must be reindexed now" without realising that it would lock everyone out.
If you've got that little memory to work with on your host & it's going to cost too much to get more then I would either:
You can restrict the memory but if Jira needs it you'll get the OutOfMemory exceptions. The JVM flags are:
I'll send you some papers from oracle and you may have a basis for tuning the performance in your java.
Thanks, but I still don't think this is a performance issue, tuning Java won't decrease the memory required by JIRA, and I don't think JIRA is slow it actually works quite well. But since my VPS only allows me to use 1Gb of RAM, 700Mb is quite much for one process.
A good starting point is this: http://www.oracle.com/technetwork/java/javase/index.html
I can understand your pain, but these days (they say) memory is cheap.
No, what I mean is : you can limit the memory usage by using JVM flags. However, I recommend you to have at least 768 Mb for your Jira instance. Indexind is done globally, so it cannot be restricted to one project only.
Yes I heard that as well, but my VPS provider says it will cost me a lot :) Or at least more than I am willing to pay for :)
Thanks for the link, but I don't think this is a Java issue but rather a JIRA memory issue. I guess indexing in this case means they index _everything_ to make JIRA faster while searching for documents and plugins and such. But I would rather just index the parts of JIRA that concerns me, i.e. my projects and related issues.
But that would only generate OutOfMemoryException. Is it possible to turn indexing off?
It says: If you are planning to have a small number of projects (10-20) with 1,000 to 5,000 issues in total and about 100-200 users, a recent server (2.0+ GHz quad core CPU) with 1-2 GB of available RAM should cater for your needs.
Thanks for all your replies, really appreciate it. But I am starting to realize that JIRA might not be right solution for me at this point. I will however try to run it on my existing web service instead of a stand-alone application.
I wanted to run JIRA on some "hobby"-projects to learn more about it but if it requires me to pay twice as much for my VPS than I already do, I don't think JIRA is for me.