Skip to content

Troubleshooting

If you are having trouble running Marqo then see below for potential solutions. If these do not work then you can get help by raising an issue or by joining our Slack community. See Community and Support for further details.


RAM and VRAM

Depending on the settings used, Marqo can consume more memory (RAM or VRAM) than is available. Symptoms of exceeding system memory can include abrupt termination of Marqo with the message Killed. To reduce memory consumption, the following actions can be performed:

  • Do not load any models at startup. This will avoid pre-loading models and will reduce the memory footprint of Marqo. This can be achieved by adding the environment variable - -e MARQO_MODELS_TO_PRELOAD='[]' - to the Marqo docker run command. See Configuring preloaded models

Batch or request sizes are too large

Large batches of documents when indexing can degrade performance or reduce throughput, including when using Marqo cloud. It is recommended to send documents for indexing in batches. The python client makes this easy to do by setting a client_batch_size parameter when indexing. Having a larger batch size reduces the communication overhead from sending more requests.

Marqo Cloud

It is recommended to not send very large batch sizes as timeout limits (for Marqo cloud) can occur. The exact batch size will vary greatly on the document structure and models used. For typical scenarios client_batch_size=64 is a good starting point. Alternatively, choose batch sizes that keep indexing requests to < 10 seconds. The times can be oberved in the log outputs of the python client.

response = mq.index("my-index").add_documents(
    documents, client_batch_size=64, tensor_fields=["myField"]
)

Documents are too large

Very large documents may cause issues during indexing due to request limit sizes. There are several options to remediate this:

  • Break large documents into multiple smaller documents.
  • Modify the MARQO_MAX_DOC_BYTES environment variable described in the section Configuring usage limits.

Image search results are poor

If results obtained when searching across an index of images are poor, it could be due to misconfigured index settings. Specifically, the following setting needs to be enabled:

treat_urls_and_pointers_as_images=true

To check the settings of the index, see here. To see the available image models, refer to the "Image" section of the models reference in the documentation.

Something else

If your problem cannot be solved from these suggestions then you can get additional support from Slack or Github. See Community and Support for details.