OsGetSimulatorMemory
From OpenSimulator
Implemented December 12,2009 by Adam Frisby in GIT# 87e89efbf9727b294658f149c6494fd49608bc12 - Rev 11700
Simple Script (displays only the integer such as 234652064)
// Simple Unformatted Output // integer TotMemUsed; default { state_entry() { TotMemUsed = osGetSimulatorMemory(); llSetText( (string)TotMemUsed+" Memory by the OpenSim Instance", <0.0,1.0,0.0>, 1.0 ); } touch(integer num) { TotMemUsed = osGetSimulatorMemory(); llSetText( (string)TotMemUsed+" Memory by the OpenSim Instance", <0.0,1.0,0.0>, 1.0 ); } }
Extended with some formatting: (displays as 234.652 Mb)
// Simple formatted Output // shows either MB or GB as applicable // // ==== GET Memory INteger and Format for Display ==== GenStats() { // Get Memory and format it string TotalMem; string TotMemUsed; string TxtTail =" used by OpenSim Instance"; TotMemUsed = (string)osGetSimulatorMemory(); integer Len = llStringLength(TotMemUsed); if(Len == 8) // ##.### MB { string Mem1 = llGetSubString(TotMemUsed,0,1); string Mem2 = llGetSubString(TotMemUsed,2,4); TotalMem = Mem1 + "." + Mem2 + "\nMb"+TxtTail; } else if(Len == 9) //###.### MB { string Mem1 = llGetSubString(TotMemUsed,0,2); string Mem2 = llGetSubString(TotMemUsed,3,5); TotalMem = Mem1 + "." + Mem2 + "\nMb"+TxtTail; } else if(Len == 10) //#.### GB { string Mem1 = llGetSubString(TotMemUsed,0,0); string Mem2 = llGetSubString(TotMemUsed,1,3); TotalMem = Mem1 + "." + Mem2 + "\nGb"+TxtTail; } else if(Len == 11) //##.### GB { string Mem1 = llGetSubString(TotMemUsed,0,1); string Mem2 = llGetSubString(TotMemUsed,2,4); TotalMem = Mem1 + "." + Mem2 + "\nGb"+TxtTail; } llSetText(TotalMem, <0.0,1.0,0.0>, 1.0 ); } default { state_entry() // display @ start { GenStats(); } touch(integer num) // refresh on touch { GenStats(); } }