Difference between revisions of "User:Becky Pippen/Memory Limits FAQ"
Jump to navigation
Jump to search
Becky Pippen (talk | contribs) m (Added Q: Will the limits be per avatar or per region?) |
Becky Pippen (talk | contribs) (Minor clarifications from Babbage's office hours this week) |
||
Line 5: | Line 5: | ||
'''Q:''' How can I tell if I'm a heavy script user? | '''Q:''' How can I tell if I'm a heavy script user? | ||
: '''A:''' | : '''A:''' Starting with server version 1.38, we'll have new ways built into the sim and viewer to see our individual script memory usage, similar to how estate managers can see top scripts in a region. Also scripters can use the function [[LlGetFreeMemory|llGetFreeMemory()]] to get an approximate idea of memory usage. | ||
'''Q:''' Will this break content? | '''Q:''' Will this break content? | ||
Line 11: | Line 11: | ||
'''Q:''' When will all this happen? | '''Q:''' When will all this happen? | ||
: '''A:''' | : '''A:''' Before the end of Q1 of 2010, the new LSL functions and the new UI for displaying memory usage should be available for testing on the Preview Grid, then deployed to the main grid in server version 1.38 in Q2. We'll have several months where we can experiment with the new LSL functions and tools on the preview grid, then on the main grid before the memory limits are enforced sometime later in 2010. | ||
'''Q:''' Will the limits be per avatar or per region? | '''Q:''' Will the limits be per avatar or per region? | ||
Line 26: | Line 26: | ||
'''Q:''' Why not just add RAM to the servers? RAM is cheap. | '''Q:''' Why not just add RAM to the servers? RAM is cheap. | ||
: '''A:''' Several thousand Xeon server boards at, say, US$100 each to upgrade, comes out to a bunch of money, even for Linden Lab | : '''A:''' Several thousand Xeon server boards at, say, US$100 each to upgrade, comes out to a bunch of money, even for Linden Lab. | ||
'''Q:''' Who will be affected? | '''Q:''' Who will be affected? | ||
: '''A:''' All scripts, old and new, will be subject to the new memory limits. When planning for the memory limits, Babbage Linden said, "[2009/11/25 3:43] Babbage Linden: ideally we'd like to have 95+% of people use scripts as they currently do while still having 95+% of simulators running without swapping". | : '''A:''' All scripts, old and new, will be subject to the new memory limits. When planning for the memory limits, Babbage Linden said, "[2009/11/25 3:43] Babbage Linden: ideally we'd like to have 95+% of people use scripts as they currently do while still having 95+% of simulators running without swapping". | ||
'''Q:''' What's the difference between "Small Scripts Project," "Big Scripts Project," and "Efficient Scripts Project?" | |||
: '''A:''' The ''Efficient Scripts Project'' is the overall effort to reduce the memory consumption of Mono-based scripts, including limits on memory usage. The ''Small Scripts Project'' and ''Big Scripts Project'' both refer to a refinement where each script can request the specific amount of memory it anticipates using instead of being charged with a constant 16KB for LSL or 64KB for Mono scripts. So, for example, a simple Mono sit script might request only 3KB while another data-intensive Mono script might request several megabytes. Since the average Mono script in SL needs only about 9KB, this could help reduce overall script memory usage in a typical region. | |||
'''Q:''' What's the "LSL Penalty?" | |||
: '''A:''' At one time, LL considered charging LSL scripts with more memory than they actually consume as an incentive for scripters to use Mono. That idea has been dropped, and the current plan is to charge LSL scripts with actual memory use — currently 16KB for LSL, and 64KB for Mono scripts. In the future after the Small Scripts and Big Scripts Project has been implemented, Mono scripts can be charged for only the amount of memory they reserve, which could be more or less than 64KB. | |||
'''Q:''' What can I do as a content creator to prepare? | '''Q:''' What can I do as a content creator to prepare? |
Revision as of 17:44, 24 February 2010
FAQ - Script Memory Limits
Q: Why do we need script memory limits?
- A: In some regions, the simulator uses so much script memory that it has to swap virtual memory to disk. That causes major lag, and lag is among the top complaints about Second Life.
Q: How can I tell if I'm a heavy script user?
- A: Starting with server version 1.38, we'll have new ways built into the sim and viewer to see our individual script memory usage, similar to how estate managers can see top scripts in a region. Also scripters can use the function llGetFreeMemory() to get an approximate idea of memory usage.
Q: Will this break content?
- A: Yes, some. The limits are specifically designed to limit the worst 5% of memory consumers so that the remaining 95% can continue to run freely without causing the simulator to swap virtual memory.
Q: When will all this happen?
- A: Before the end of Q1 of 2010, the new LSL functions and the new UI for displaying memory usage should be available for testing on the Preview Grid, then deployed to the main grid in server version 1.38 in Q2. We'll have several months where we can experiment with the new LSL functions and tools on the preview grid, then on the main grid before the memory limits are enforced sometime later in 2010.
Q: Will the limits be per avatar or per region?
- A: That hasn't been determined yet, but it will probably involve limits on avatar, parcel, and region in a way that parallels how URL resources are managed.
Q: Will Linden Lab pay for all the scripted products we bought that will no longer work?
- A: Most products are reasonably scripted and will continue to work just fine. The only problematic products will be unusual ones that are scripted in ways that use unreasonable amounts of RAM. Try to get the product creator to make a new version that uses less memory.
Q: Will we see a reduction in lag across the grid?
- A: It won't have a major impact on most regions. However, it will make a huge improvement on the 5% of the regions that use so much script memory that the server has to swap virtual memory to disk. Theoretically it might also somewhat improve performance on any other simulators running on the same server host using the same disk resources.
Q: How much RAM are we talking about?
- A: In the 95% of the regions that run smoothly, the simulator uses less than 800MB of RAM for everything except scripts, and up to 300MB for all the scripts in the region, and that's ok. In the worst 5% of the regions, simulators use up to 2GB of RAM on the server, and that's not ok.
Q: Why not just add RAM to the servers? RAM is cheap.
- A: Several thousand Xeon server boards at, say, US$100 each to upgrade, comes out to a bunch of money, even for Linden Lab.
Q: Who will be affected?
- A: All scripts, old and new, will be subject to the new memory limits. When planning for the memory limits, Babbage Linden said, "[2009/11/25 3:43] Babbage Linden: ideally we'd like to have 95+% of people use scripts as they currently do while still having 95+% of simulators running without swapping".
Q: What's the difference between "Small Scripts Project," "Big Scripts Project," and "Efficient Scripts Project?"
- A: The Efficient Scripts Project is the overall effort to reduce the memory consumption of Mono-based scripts, including limits on memory usage. The Small Scripts Project and Big Scripts Project both refer to a refinement where each script can request the specific amount of memory it anticipates using instead of being charged with a constant 16KB for LSL or 64KB for Mono scripts. So, for example, a simple Mono sit script might request only 3KB while another data-intensive Mono script might request several megabytes. Since the average Mono script in SL needs only about 9KB, this could help reduce overall script memory usage in a typical region.
Q: What's the "LSL Penalty?"
- A: At one time, LL considered charging LSL scripts with more memory than they actually consume as an incentive for scripters to use Mono. That idea has been dropped, and the current plan is to charge LSL scripts with actual memory use — currently 16KB for LSL, and 64KB for Mono scripts. In the future after the Small Scripts and Big Scripts Project has been implemented, Mono scripts can be charged for only the amount of memory they reserve, which could be more or less than 64KB.
Q: What can I do as a content creator to prepare?
- A: Be kind to your customers and give them product updates using the new efficient LSL functions when they become available. Learn more about how to measure memory usage and the scripting techniques for reducing memory.
Q: What can I do as a customer?
- A: 95% of scripts are just fine and you don't need to do anything. If you are wearing hair, shoes, or other attachments with a script in every prim, then you can contact the creator and ask if there is a product update that uses the new LSL memory-efficient functions.