Skip to content
lsl.devlsl.devLSL Dev

llSetMemoryLimit

function
Function syntax
integer llSetMemoryLimit(
  1. integer limit// Integer memory limit in bytes to reserve (must be less than the 64KB maximum).
);
Returns
integer
Energy
10

Requests that limit bytes are reserved for the script. Returns TRUE on success or FALSE on failure (has no effect in LSO).

Request limit bytes to be reserved for this script.

How to use
integer result = llSetMemoryLimit(0);

This function’s behavior is dependent upon the VM the script is using. Mono is the new VM, LSO is the old VM.

;Mono:Sets the memory limit for the script.

  • The memory limit can be set up to 64k.
  • The memory limit can not be set lower than the memory currently in use by the script.
  • All new scripts start with a limit of 64k
  • Mono scripts compiled before this function was introduced continue to use the 64k limit.
  • A lower limit will effect the amount of memory reported in the viewer UI and by llGetObjectDetails.
  • The memory limit is not the amount of real memory actually used by the script, just the upper limit on it.

;LSO:Has no effect on LSO scripts which will always use exactly 16k

;Mono:When n is too small, llSetMemoryLimit(n) is ignored and the memory limit is not changed

Example 1
13 collapsed lines
// Memory-walkthrough by Daemonika Nightfire (daemonika.nightfire)
integer limit = 20000; // <- bytes
Test()
{
llSetText("Limited Memory " + (string)llGetMemoryLimit() +
"\nUsed Memory " + (string)llGetUsedMemory() +
"\nFree Memory " + (string)llGetFreeMemory(),<1,1,1>,1);
}
default
{
state_entry()
{
llSetMemoryLimit(limit);
llScriptProfiler(PROFILE_SCRIPT_MEMORY);
16 collapsed lines
Test();
llScriptProfiler(PROFILE_NONE);
llSay(0,"This script used at most " + (string)llGetSPMaxMemory() + " bytes of memory during Test.");
}
}
// Result:
// Floating Text:
// Limited Memory 20000
// Used Memory 4972
// Free Memory 15100
// Chat:
// [05:11] Object: This script used at most 4972 bytes of memory during Test.

Date of Release 10/08/2011

Original wiki source

Some wiki templates and tables need their original context. View this article on the Second Life Wiki. Technical wording and examples are retained from the source; historical guidance may differ from current behavior.

From the Second Life Wiki

Community documentation adapted from LlSetMemoryLimit, by Linden Research, Inc. and contributing residents.View contributors and history.

Imported wiki revision:

Licensed under CC BY-SA 3.0. Last wiki edit: .Formatting and links have been adapted for this site; API metadata follows the LSL definitions.