Is Possible For Our Application To Be Using 5GB Of Memory But Only Showing 350mb For The Process
Mar 30, 2010
Running an ASP.NET application in its own app pool on Windows Server 08 / IIS 7.
Server keeps hitting 97% memory usage and sticking there, trying to work out if that is our application's fault.
My main question is, does all of the memory used by an application get displayed as the working set for the w3wp.exe process associated to it? Our application (according to IIS7 and the worker process in task manager) is using less then 350mb. I want to know if it is possible for our application to be using 5GB of memory but only showing 350mb for the process?
I have to retrieve the data from the web service and this data should be kept in process's memory and use it where needed.Do not like to call web service every time.Is there any method to do this?
I'm tearing my hair out here - I'm building a .NET web application at the moment and every time I either want to access the database/build a page or create a new datasource I get the following error:A connection was successfully established with the server, but then an error occurred during the login process. (provider: Shared Memory Provider, error: 0 - No process is on the other end of the pipe.)I also get it in SQL Server Management Studio 2008 quite a lot too. I know what you're thinking - search the web for the error, read what the nice people have to say. Only I've spent the last week or so doing this, and I'm no closer to resolving this.
When I hit the run button (in my Default.aspx), a process starts (this process contacts a webservice to get some files, etc). How do I: Ensure that only a single process is running at a time (i.e. if I refresh the browser, I don't want to start the process a second time)Track progress - there are 4 points of the process (at 25%, 50%, 75%, 100%) that I want to track, and when each part completes, I want to update the progress bar. I have a status object for the running process, but the question is how to update the progress bar automatically? Do I need to use threads to achieve the above two?
multiple groups of users interacts using browser. in each group, users will interact with some data(objects). the data(objects) are loaded from database. during the interaction, users needs quick and synchronized view of the same data(object), so they must be save in the memory. data(objects) will change during the interaction, but only the final result of this interaction need to be saved back into DB.
My Current Solution
load data(object) into global.asax the manipulate. but for this solution, i got few questions.
how can i make sure the web application have ONLY ONE instance?(configure in iis-->application pool?) because web application would restart by itself, as a result, all data in the application state will lose. how can i avoid application restart by it self rather than managed? in the iis application pool setting, i can set the recycle time, is it guaranteed that no application restart will happen during this time? or is there and event that might trigger something(before application restart) so i can save the current application status and load them back again?
I have an ASP.net application with c# which uses MS SQL server 2005. I find that the cpu usage of my server reaches 100% when ever i run the application. I was told that i may have memory leak in my application. How can i trace is there are any memory leaks in my application? Note: I am not the programmer of this application. But i have the complete source code as i am doing maintenance and enhancements on this application.
I'm trying to determine the memory used by my ASP.NET MVC application. My host imposes a 100mb application pool memory restriction. However, from my tests, an empty ASP.NET MVC application uses 30mb memory so I have absolutely no hope with an application that actually does something.
I can't find any benchmarks on what a "standard" MVC app should be using (I assume MS have someb somewhere??).
My application is not that special. I use StructureMap for DI and EF Code First. The model is equivelant to that of a blog. If I completely remove my data access code then my memory usage drops to around 40mb (of course in this state its pretty useless).
Bit of a weird title, but here's the deal. For a web site I'm working on, we have the need to generate quasi-3D images on the fly. Basically, it's for an art site, and we have the need to show a 3D representation of a Canvas given a 2D image (jpg). (See here for some context.) The approach we're taking is to leverage the WPF 3D API and create a Viewport3D in code, add a bunch of points to it with the correct dimensions, and then apply the textures from the original jpg appropriately. While testing it, I was testing it the whole time in a sandbox environment, and in the built in Cassini web server in Visual Studio. While trying to migrate it over to the actual code repository and testing it there, it stopped working. The image that's pumped out is the correct size, but is completely blank. It's totally black. After hours of banging my head against the wall, I figured out that it's an IIS issue. I created a simple sample app to demonstrate the issue (doesn't add images though it just paints all sides green), however since most of the code is largely irrelevant to the question, I won't put it here, rather I'll post a link to it:
[URL]
If you do download it and want to run it, in the code behind of Default.aspx you'll see this:
Feel free to change that path to whatever, and make sure that the correct permissions are in place as it'll try to save a file there. If you try that sample in Visual Studio with Cassini, it'll work fine, and you should have a new file called "output.png" which has a green 3D cube. If you try it in IIS, you'll get a blank image. A few points: Before anyone asks, yes, I gave all the proper folders the correct permission issues. I also do the actual 3D generation and image saving on a separate thread with the Apartment state set to STA. know this is a bit of an unusual case of fusing WPF and ASP.Net, but by some chance, Is there some setting in IIS that I need to change? Is there some limitation to the WPF API that won't allow it to run out of IIS?
I'd like to describe strange issue I've noticed while analyzing my asp.net application in production and ask for some advice or opinion on the following matter.Application usually runs with some 80-90 MB of memory footprint. This seems stable since no memory leaks have been detected so far - no slight increase in memory usage over time. Yet, problem occurs when application pool recycles (I'm using shared hosting and judging by logs it occurs either when app is idle for 20 mins or every ~30 hours - something like that). The issue is that used memory almost doubles for some period on recycle - it goes to some 160-170 MBs without any explanation. This is confusing, since it is common claim that recycling should purge the memory and all other resources - at least I get it that way. System holds this amount of memory for some 7-8 hours and then memory usage drops to it's usual level of 90-100 MB, again, with no apparent reason (at least not know to me).
my web applications app pool configuration is PeriodicRestartMemory : 512000 PeriodicRestartPrivateMemory : 196608
although the virtual memory limit is higher than private memory, app pool is recycled with virtual memory limits exceeded errors in the event log (instead of private memory).
what is the reason for this? how could it exceed virtual memory limits before exceeding private memory limits? it seems that systems other allocations in virtual memory cause limits exceeded before applications private allocations exceed the limits, but what are those allocations of the system? or what is the root cause of this.
Pardon if this is more serverfault vs. stackoverflow. It seems to be on the border.
We have an application that caches a large amount of product data for an e-commerce application using ASP.NET caching. This is a dictionary object with 65K elements, and our calculations put the object's size at ~10GB. Problem:
The amount of memory the object consumes seems to be far in excess of our 10GB calculation. BIGGEST CONCERN: We can't seem to use over 60% of the 32GB in the server.
What we've tried so far:
In machine.config/system.web (sf doesn't allow the tags, pardon the formatting):
processModel autoConfig="true" memoryLimit="80"
In web.config/system.web/caching/cache (sf doesn't allow the tags, pardon the formatting):
privateBytesLimit = "20000000000" (and 0, the default of course) percentagePhysicalMemoryUsedLimit = "90"
Environment: Windows 2008R2 x64 32GB RAM IIS7
Nothing seems to allow us to exceed the 60% value.
I am hosting a solution with an outside company so getting them to troubleshoot or send me log files is not working.
Is there a way from code or Global.asax file that I can trap Memory usage from my web application when it reaches a certain amount? Then figure out what is using all the memory
I am logged in as the administrator when I installed an application named pdflatex.exe on my server. This application works as a converter from LaTeX input file to Pdf file. I host an Asp.net MVC 3 application running under an Application Pool Identity with Load User Profile = True. The Asp.net MVC 3 code contains a code that executes pdflatex.exe using System.Diagnostic.Process instance as follows:
Process p = new Process(); p.EnableRaisingEvents = true; p.Exited += new EventHandler(p_Exited); p.StartInfo.Arguments = "-interaction=nonstopmode " + inputpath; p.StartInfo.WorkingDirectory = @"c:mydomain.comworking"; p.StartInfo.UseShellExecute = false; p.StartInfo.FileName = "pdflatex.exe"; p.Start(); p.WaitForExit();
From the scenario above, the web application runs under a restricted acount but it executes an external application under a default account that I don't know. Can an application running under a less privileged account start a process executing another application under an administrative account?
I came across a strange behavior with this property. I had a winform with 2 buttons "button1" and "close". In the button1_clicked event I had the following code. I did not put any code in the for loop
I am building an asp.net application, using II6 on windows server 2003 (vps hosting).
I am confronted with an error I didn't receive on my development machine (windows 7, iis 7.5, 64 bit).
When my wcf service tries launching my query running against a local sql server this is the error I receive:
Memory gates checking failed because the free memory (43732992 bytes) is less than 5% of total memory. As a result, the service will not be available for incoming requests. To resolve this, either reduce the load on the machine or adjust the value of minFreeMemoryPercentageToActivateService on the serviceHostingEnvironment config element.
I have both VS 2005 and 2008 installed on my machine. 2005 is fine. For 2008, literally any asp.net project I try to create gets this eror. I try stepping into the code, and the error occurs apparently before anything that I can trap is loaded. There is no information written to the event log. I have tried this with a "Hello World" webpage with nothing else going on. Seems unique to my Windows Server 2003 machine.
I am getting a weird error in asp.net while using leadtools imaging api. Here's the stack trace.
System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt. at SetThreadData(_THREADDATA* ) at Leadtools.Codecs.CodecsOptions.Use() at Leadtools.Codecs.RasterCodecs.DoSave(SaveParams saveParams) at Leadtools.Codecs.RasterCodecs.Save(RasterImage image, Stream stream, RasterImageFormat format, Int32 bitsPerPixel)........
I am maintaining C# .NET code written by somebody else, I get following exception few times,Attempted to read or write protected memory. This is often an indication that other memory is corruptThe code structure where I get the above exception is somethign like this,- it is using ref variables in following sequence,Variable-1 and variable-2 are local variables in App1, - App1: func1() which passes these variables reference to func2(), - App1: func2() passes same variables reference via .net remoting to another application (App2).-App2: does the same passes same received reference to another call 2 times.- The execption is occured while returning from App2.
(App1:func1(ref Var1, ref Var2) --> App1:func2(ref Var1, ref Var2) <---App1 .net remoting to App2--> App2:func3(ref Var1, ref Var2)--> App2:func4(ref Var1, ref Var2)-->variables getting updated and function returned to original caller)
My doubts are ,1. Is passing reference variables in such chain is correct? will it cause such exeption? Does .net support ref variable call directly?
Is there a way to get load information on Application Server? How much memory or CPU is being used at a given point? I want to either 1. Limit users to use specific functionality of ASP.NET 3.5 application or 2. Deny users from accessing the application saying "Server is busy at the moment"
I am working on a ASP.NET 2.0 application. I get the following exception sometimes when i access the web application. I believe it is related to the server where the application is hosted? Exception of type 'System.OutOfMemoryException' was thrown. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown. Source Error: An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. Stack Trace:
I'm building an ASP.NET MVC site where I want to use OpenSTV to conduct polls. To run results through OpenSTV, I'd have to run the executable. Is that allowed from a medium-trust ASP.NET application?
In IIS application pool I have set 2 in maximum worker process in process model, will application object, session object and cache object will be shared by the all worker process or will all worker process have different application object, session object and cache object.
What is the difference between IIS Worker process, Application pool and application domain? Do we have more than one application domains in one application pool?Does one application domain means one virtual directory? If we have 2 virtual directories pointing to same physical folder. Will they share the same memory or different when there instances are opened in the browser? Will they be in 2 different application domains?
I am trying to config my application to use out-of-process sessionState.
<sessionstate mode="stateserver" cookieless="false" timeout="20" sqlconnectionstring="data source=127.0.0.1;user id=<user id>;password=<password>" server="127.0.0.1" port="42424" />In my web.config I get errors for the server and port attributes, telling me that server attribute is not allowed and port attribute is not allowed.