OsGetSimulatorMemoryKB
From OpenSimulator
(Difference between revisions)
(Created page with "{{osslfunc |threat_level=Moderate |function_syntax=integer osGetSimulatorMemoryKB(); |ossl_example=Simple Script (displays only the integer such as 234652064) <source lang="ls...") |
|||
Line 5: | Line 5: | ||
<source lang="lsl"> | <source lang="lsl"> | ||
// Simple Unformatted Output | // Simple Unformatted Output | ||
− | + | ||
integer TotMemUsed; | integer TotMemUsed; | ||
+ | |||
default | default | ||
{ | { | ||
− | + | state_entry() | |
− | + | { | |
− | + | TotMemUsed = osGetSimulatorMemoryKB(); | |
− | + | llSetText( (string)TotMemUsed+" Memory by the OpenSimulator Instance", <0.0,1.0,0.0>, 1.0 ); | |
− | + | } | |
− | + | touch(integer number) | |
− | + | { | |
− | + | TotMemUsed = osGetSimulatorMemoryKB(); | |
− | + | llSetText( (string)TotMemUsed+" Memory by the OpenSimulator Instance", <0.0,1.0,0.0>, 1.0 ); | |
− | + | } | |
} | } | ||
</source> | </source> | ||
− | |||
Extended with some formatting: (displays as 234.652 Mb) | Extended with some formatting: (displays as 234.652 Mb) | ||
− | |||
<source lang="lsl"> | <source lang="lsl"> | ||
− | // Simple formatted Output | + | // Simple formatted Output shows either MB or GB as applicable |
− | + | ||
− | + | ||
// ==== GET Memory Integer and Format for Display ==== | // ==== GET Memory Integer and Format for Display ==== | ||
GenStats() | GenStats() | ||
{ | { | ||
− | + | // Get Memory and format it | |
− | + | string TotalMem; | |
− | + | string TotMemUsed; | |
− | + | string TxtTail =" used by OpenSimulator Instance"; | |
− | + | ||
− | + | TotMemUsed = (string)osGetSimulatorMemoryKB(); | |
− | + | integer Len = llStringLength(TotMemUsed); | |
− | + | ||
− | + | if(Len == 8) // ##.### MB | |
− | + | { | |
− | + | string Mem1 = llGetSubString(TotMemUsed, 0, 1); | |
− | + | string Mem2 = llGetSubString(TotMemUsed, 2, 5); | |
− | + | 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 | default | ||
{ | { | ||
− | + | state_entry() // display @ start | |
− | + | { | |
− | + | GenStats(); | |
− | + | } | |
− | + | ||
− | + | touch(integer number) // refresh on touch | |
− | + | { | |
− | + | GenStats(); | |
− | + | } | |
} | } | ||
</source> | </source> | ||
− | |||
'''Informations'''<br /> | '''Informations'''<br /> | ||
This allows work around the fact osGetSimulatorMemory() reports at most 2GB. This one limit is now 2TB, should ne enought for a while | This allows work around the fact osGetSimulatorMemory() reports at most 2GB. This one limit is now 2TB, should ne enought for a while |
Revision as of 13:14, 15 October 2017
integer osGetSimulatorMemoryKB();
| |
Implemented Octobre 15,2017 by UbitUmarov in GIT# 3d6553afeee3d4605851b6f336c17d5a6b07c6ad - Commit 3d6553 | |
Threat Level | Moderate |
Permissions | No permissions specified |
Extra Delay | No function delay specified |
Example(s) | |
Simple Script (displays only the integer such as 234652064)
// Simple Unformatted Output integer TotMemUsed; default { state_entry() { TotMemUsed = osGetSimulatorMemoryKB(); llSetText( (string)TotMemUsed+" Memory by the OpenSimulator Instance", <0.0,1.0,0.0>, 1.0 ); } touch(integer number) { TotMemUsed = osGetSimulatorMemoryKB(); llSetText( (string)TotMemUsed+" Memory by the OpenSimulator 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 OpenSimulator Instance"; TotMemUsed = (string)osGetSimulatorMemoryKB(); integer Len = llStringLength(TotMemUsed); if(Len == 8) // ##.### MB { string Mem1 = llGetSubString(TotMemUsed, 0, 1); string Mem2 = llGetSubString(TotMemUsed, 2, 5); 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 number) // refresh on touch { GenStats(); } } Informations |