As your library and usage of XBMC grows, so does the memory taken up by XBMC's various settings and files. If you have a device with a low amount of internal memory (8GB or less), such as an ATV2, Raspberry Pi, various Android boxes, or running XBMC from a USB flash drive, this can be a problem. This how-to will show ways to reduce the space used, as well as reclaim space from files that are no longer needed.

XBMC stores data mainly in the userdata folder or the parent folder of userdata, "XBMC".

1 Cleanup unused cached images

XBMC does not automatically prune old images that are no longer used. For example, if you remove a movie from the library then the poster and fanart will still be saved in XBMC's userdata folder. Until XBMC has an internal method of pruning these files you can use the highly versatile Texture Cache Maintenance utility to remove unused images.

2 Actor images

If you don't care to download pictures of Actors for when you are browsing or looking up actor information in XBMC, you can turn this off. Doing so can often save a few hundred megabytes of memory, depending on how versatile your video library is.

3 Limit the size of cached images

Whenever XBMC downloads images from the internet, or even loads local images saved along side your media, it caches these images inside of userdata/Thumbnails/. By default, large images are scaled down to the default values shown below, but they can be sized even smaller to save additional space. Often, depending on the skin and TV you use, you can resize images without any noticeable decrease in quality. Smaller images can also speed up the GUI on low-power devices.

Note:advancedsettings.xml is for advanced settings and features that normal users don't normally need to modify.

Create a plain text file (no rich text formatting, don't use .doc, etc) and save it as advancedsettings.xml. Make sure that the file extension is ".xml" and not ".txt" or ".xml.txt".

Note: If you have an existing advancedsettings.xml file, make sure the tags are between the main <advancedsettings></advancedsettings> tags.

Tag details:

advancedsettings.xml tag

what it does

<imageres>720</imageres>

Specify the maximum resolution that cached artwork (other than fanart / 16:9 images) should be resized to in pixels. The width is automatically calculated as being 16/9*height. The image will be resized to fit within this size. e.g. an image that is 2000x500 will be cached at size 1280x320. An image that is 500x800 will be cached at size 450x720 using the default value of 720.

<fanartres>1080</fanartres>

Specify the maximum resolution that cached fanart should be resized to in pixels. The width is automatically calculated as being 16/9*height. Only images that are exactly 16x9 and equal to or greater than this resolution will be cached at this size - all other images will be cached using <imageres>. The default value is 1080.

4 Move cached images to another drive

Path substitution is another advancedsettings.xml tag. If you simply need more space for XBMC's files but don't wish to limit the image quality then you can use path subs to relocate the images to another drive. The cached images in the Thumbnails folder takes up the most amount of space of all the different XBMC files, so using pathsubs on that folder alone is often all you need to do. It's even possible to use a network file share path, but it is recommended that you use another local drive, if possible, for performance reasons.

If you have not made an advancedsettings.xml file before, see the example in the above section #Limit the size of cached images.
Note: If you have an existing advancedsettings.xml file, make sure the <pathsubstitution></pathsubstitution> tags are between the main <advancedsettings></advancedsettings> tags.

5 Limit add-on rollback

Another advancedsettings.xml tag that can be used is <packagefoldersize>. XBMC saves old copies of add-ons in case you ever need to revert to a previous version, in case there was a bug in the new version or the user did not like one of the changes. Old add-on packages don't normally take up a lot of space, and the default max size before XBMC starts deleting old packages is 200 megabytes. This setting is mainly to allow a user to increase the number of old versions saved, but it can be used to lower them.

Since this only saves 200MBs of data, it is generally not needed to change this setting.

If you have not made an advancedsettings.xml file before, see the example in the above section #Limit the size of cached images.
Note: If you have an existing advancedsettings.xml file, make sure the <packagefoldersize></packagefoldersize> tags are between the main <advancedsettings></advancedsettings> tags.

<advancedsettings><packagefoldersize>200</packagefoldersize><!-- The amount in megabytes of packages saved from previous add-on installs. --></advancedsettings>