I suggest that you visit a doctor to check that this is a virus and not a glandular problem or bacterial infection. As you have had it for so long, it could be something like glandular fever, diabetes or a whole other host of problems. It could your diet, lifestyle or many other things. Unless you have had a test to show it is a virus, i would get it checked out ASAP. I do not want you to worry too much, but the tiredness could be covering up a more serious problem.