Hi,
I did a medium complex application in C#, and in some areas the memory goes
up to 60Mb, when I finish I dispose everything and setting everything to
null and calling GC.Collect, but the memory never goes below 45MB and I'm
pretty sure I'm not allocating that huge amount of memory.
Now the question is, are there some kind of tool that allow to me to see
what objects are inside of Garbage Collector?. How do I know if I freed the
resources properly?.
If my application looks like is taking 64Mb of ram al the time the users are
not going to install it.
I need any kind of tool to see the content of the GC.
Supposed I have a bug and the application is taking memory and never is
released how do I supposed to know what is happening if the GC hide this
information?
Any Help?
Thanks. 11 3802
You can do this with a profiler: http://www.scitech.se/memprofiler/
Greetz,
-- Rob.
Gustavo Franco wrote: Hi, I did a medium complex application in C#, and in some areas the memory goes up to 60Mb, when I finish I dispose everything and setting everything to null and calling GC.Collect, but the memory never goes below 45MB and I'm pretty sure I'm not allocating that huge amount of memory. Now the question is, are there some kind of tool that allow to me to see what objects are inside of Garbage Collector?. How do I know if I freed the resources properly?. If my application looks like is taking 64Mb of ram al the time the users are not going to install it. I need any kind of tool to see the content of the GC. Supposed I have a bug and the application is taking memory and never is released how do I supposed to know what is happening if the GC hide this information? Any Help? Thanks.
The one from MS: http://msdn.microsoft.com/library/de...mplecsharp.asp
Greetz,
-- Rob.
Gustavo Franco wrote: Hi, I did a medium complex application in C#, and in some areas the memory goes up to 60Mb, when I finish I dispose everything and setting everything to null and calling GC.Collect, but the memory never goes below 45MB and I'm pretty sure I'm not allocating that huge amount of memory. Now the question is, are there some kind of tool that allow to me to see what objects are inside of Garbage Collector?. How do I know if I freed the resources properly?. If my application looks like is taking 64Mb of ram al the time the users are not going to install it. I need any kind of tool to see the content of the GC. Supposed I have a bug and the application is taking memory and never is released how do I supposed to know what is happening if the GC hide this information? Any Help? Thanks.
WARNING!
I just downloaded, installed, and ran this Memory Profiler and now my system
is under a constant unknown 90% utlization. It is running extremely slow
for no apparent reason (no tasks show the utiliztion under Task Manager
other than "System"). Even after a reboot the system is running at 80% to
90%!
I can barely use my computer and I have a huge contract due this week! This
is very frustrating... Any recommendations ?
-Noah Coad
Microsoft MVP & MCP
"Rob Tillie" <Ro********@stu dent.tul.edu> wrote in message
news:Os******** ******@TK2MSFTN GP10.phx.gbl... You can do this with a profiler: http://www.scitech.se/memprofiler/
Greetz, -- Rob.
Gustavo Franco wrote: Hi, I did a medium complex application in C#, and in some areas the memory goes up to 60Mb, when I finish I dispose everything and setting everything to null and calling GC.Collect, but the memory never goes below 45MB and I'm pretty sure I'm not allocating that huge amount of memory. Now the question is, are there some kind of tool that allow to me to see what objects are inside of Garbage Collector?. How do I know if I freed the resources properly?. If my application looks like is taking 64Mb of ram al the time the users are not going to install it. I need any kind of tool to see the content of the GC. Supposed I have a bug and the application is taking memory and never is released how do I supposed to know what is happening if the GC hide this information? Any Help? Thanks.
I guess you make those MVP & MCP letters look good now huh.
You dont deserve those if you do stupid things like that , havnt u heard of
vmware :D and other tools to contain test apps :D
Even more fool you for doing it on a production machine.
Guess we can remove those little letters that obviously show alot when you
do that.
"Noah Coad [MVP & MCP]" <no**@coad.ne t> wrote in message
news:es******** ******@tk2msftn gp13.phx.gbl... WARNING!
I just downloaded, installed, and ran this Memory Profiler and now my
system is under a constant unknown 90% utlization. It is running extremely slow for no apparent reason (no tasks show the utiliztion under Task Manager other than "System"). Even after a reboot the system is running at 80% to 90%!
I can barely use my computer and I have a huge contract due this week!
This is very frustrating... Any recommendations ?
-Noah Coad Microsoft MVP & MCP
"Rob Tillie" <Ro********@stu dent.tul.edu> wrote in message news:Os******** ******@TK2MSFTN GP10.phx.gbl... You can do this with a profiler: http://www.scitech.se/memprofiler/
Greetz, -- Rob.
Gustavo Franco wrote: Hi, I did a medium complex application in C#, and in some areas the memory goes up to 60Mb, when I finish I dispose everything and setting everything to null and calling GC.Collect, but the memory never goes below 45MB and I'm pretty sure I'm not allocating that huge amount of memory. Now the question is, are there some kind of tool that allow to me to see what objects are inside of Garbage Collector?. How do I know if I freed the resources properly?. If my application looks like is taking 64Mb of ram al the time the users are not going to install it. I need any kind of tool to see the content of the GC. Supposed I have a bug and the application is taking memory and never is released how do I supposed to know what is happening if the GC hide this information? Any Help? Thanks.
I went to the page and it looks very good.
I'll try it!!.
Thanks,
"Stu Smith" <st*****@remove .digita.com> wrote in message
news:ue******** ******@TK2MSFTN GP12.phx.gbl... Just going to butt in here and say that the SciTech profiler is really
very good, we have a few licenses, and it's really useful in finding unexpected references. I'd recommend it for any medium to large project.
Stu
"Rob Tillie" <Ro********@stu dent.tul.edu> wrote in message news:Os******** ******@TK2MSFTN GP10.phx.gbl... You can do this with a profiler: http://www.scitech.se/memprofiler/
Greetz, -- Rob.
Gustavo Franco wrote: Hi, I did a medium complex application in C#, and in some areas the memory goes up to 60Mb, when I finish I dispose everything and setting everything to null and calling GC.Collect, but the memory never goes below 45MB and I'm pretty sure I'm not allocating that huge amount of memory. Now the question is, are there some kind of tool that allow to me to see what objects are inside of Garbage Collector?. How do I know if I freed the resources properly?. If my application looks like is taking 64Mb of ram al the time the users are not going to install it. I need any kind of tool to see the content of the GC. Supposed I have a bug and the application is taking memory and never is released how do I supposed to know what is happening if the GC hide this information? Any Help? Thanks.
Your product does look like a good product, it was probobly a quirk. I
tried e-mailing but didn't get a response back and was distrought there
wasn't a way to contact the company directly via telephone support.
My system is back fine after running the Memory Profiler again,
loading the same application, and closing the Memory Profiler again.
It just took so long to do this because of the system load that I had to use
another computer for e-mail and newsgroups. Memory Profiler looks so good
(nice components) that I e-mailed asking what components you use for the
multicolumn list box (I'd still like to know).
-Noah
P.S. For possible debugging purposes, here is the sequence of events:
1. Loaded Memory Profiler
2. "Used Profile Application" and selected a very simple .NET app that I've
used for over a year
3. Ran the Process
4. Took a look at some values in M.P.
5. Clicked the 'Stop' button which brought up a dialog asking me if I wanted
to end the process.
6. Manually closed the application running
7. M.P. detected the program closed and asked if I wanted to save the
profile infomation (in a dialog on top of the click to stop dialog). I
clicked 'No'
8. Then I clicked the 'Cancel' button on the dialog from step 5.
9. System Load Goes to 90%
10. Closed Memory Profiler
It stopped the heavy system load after repeating steps 1 through 5, but this
time allowing M.P. to close the application. The reason this took so long
was that my system was going so slow at this point it took awhile to do
this. The warning message was brisk, my first to ever post such a message,
but it was a scare without barely being able to even use the computer to
take M.P out or try to fix it and not being able to get in touch with the
company.
"Andreas Suurkuusk" <an*****@online scitech.se> wrote in message
news:uQ******** ******@TK2MSFTN GP10.phx.gbl... Hi,
It seems unlikely that our software could cause your system to have 90% utilization. When installing, we do not add anything that will run on startup, we just copy files to "C:\Program files\SciTech\N etMemProfiler", register a callback dll for profiling and add the icon.
When profiling a standard process this callback dll is only activated when starting the process (using environment variables). For a service or
ASP.NET profiling, it alters a set of registry variables to activate the callback dll.These changes will be restored as soon as the process has been
attached to the profiler, or when it fails to attach. Additionaly, the profiler
saves all the changes it has done to the registry, so that they can be restored
in the event of the profiler crashing while attaching. If you have tried to profile ASP.NET or a service, you can try to start the profiler again. In case something was left in the registry it will try to restore it at startup.
Have your tried to uninstall the profiler? Does the high CPU utilization
go away if you do?
Our profiler has been downloaded by thousands of developers during the
past year and none has reported anything similar to your problem. I think that
we should have been given the oppurtunity to solve this problem without you posting a WARNING message on the newsgroup.
Best regards,
Andreas Suurkuusk SciTech Software AB
"Noah Coad [MVP & MCP]" <no**@coad.ne t> skrev i meddelandet news:es******** ******@tk2msftn gp13.phx.gbl... WARNING!
I just downloaded, installed, and ran this Memory Profiler and now my system is under a constant unknown 90% utlization. It is running extremely
slow for no apparent reason (no tasks show the utiliztion under Task Manager other than "System"). Even after a reboot the system is running at 80%
to 90%!
I can barely use my computer and I have a huge contract due this week! This is very frustrating... Any recommendations ?
-Noah Coad Microsoft MVP & MCP
"Rob Tillie" <Ro********@stu dent.tul.edu> wrote in message news:Os******** ******@TK2MSFTN GP10.phx.gbl... You can do this with a profiler: http://www.scitech.se/memprofiler/
Greetz, -- Rob.
Gustavo Franco wrote: > Hi, > > > > I did a medium complex application in C#, and in some areas the > memory goes up to 60Mb, when I finish I dispose everything and > setting everything to null and calling GC.Collect, but the memory > never goes below 45MB and I'm pretty sure I'm not allocating that > huge amount of memory. > > > > Now the question is, are there some kind of tool that allow to me to > see what objects are inside of Garbage Collector?. How do I know if
I > freed the resources properly?. > > > > If my application looks like is taking 64Mb of ram al the time the > users are not going to install it. > > > > I need any kind of tool to see the content of the GC. > > > > Supposed I have a bug and the application is taking memory and never > is released how do I supposed to know what is happening if the GC > hide this information? > > > > Any Help? > > > > Thanks.
Jack,
You should never express yourself more clearly than you are able to think.
Mark
--
Author of "Comprehens ive VB .NET Debugging" http://www.apress.com/book/bookDisplay.html?bID=128
" Jack Meyhoff" <po********@127 .0.0.9> wrote in message
news:eZ******** ******@TK2MSFTN GP12.phx.gbl...
I guess you make those MVP & MCP letters look good now huh.
You dont deserve those if you do stupid things like that , havnt u heard of
vmware :D and other tools to contain test apps :D
Even more fool you for doing it on a production machine.
Guess we can remove those little letters that obviously show alot when you
do that.
"Noah Coad [MVP & MCP]" <no**@coad.ne t> wrote in message
news:es******** ******@tk2msftn gp13.phx.gbl... WARNING!
I just downloaded, installed, and ran this Memory Profiler and now my
system is under a constant unknown 90% utlization. It is running extremely slow for no apparent reason (no tasks show the utiliztion under Task Manager other than "System"). Even after a reboot the system is running at 80% to 90%!
I can barely use my computer and I have a huge contract due this week!
This is very frustrating... Any recommendations ?
-Noah Coad Microsoft MVP & MCP
"Rob Tillie" <Ro********@stu dent.tul.edu> wrote in message news:Os******** ******@TK2MSFTN GP10.phx.gbl... You can do this with a profiler: http://www.scitech.se/memprofiler/
Greetz, -- Rob.
Gustavo Franco wrote: Hi, I did a medium complex application in C#, and in some areas the memory goes up to 60Mb, when I finish I dispose everything and setting everything to null and calling GC.Collect, but the memory never goes below 45MB and I'm pretty sure I'm not allocating that huge amount of memory. Now the question is, are there some kind of tool that allow to me to see what objects are inside of Garbage Collector?. How do I know if I freed the resources properly?. If my application looks like is taking 64Mb of ram al the time the users are not going to install it. I need any kind of tool to see the content of the GC. Supposed I have a bug and the application is taking memory and never is released how do I supposed to know what is happening if the GC hide this information? Any Help? Thanks.
Hi,
I did a quick try to see if I could reproduce your problem, but I didn't
succeed. I will try some more after the weekend.
I understand that you needed a quick reply to your problems, but we received
your first e-mail at 18.01 (CET), and the e-mail about your CPU utilization
problem at 18.39. I responded by e-mail and to the newsgroup at 20.16, which
I think is a pretty quick response, considering it to be after office hour
at Friday night. Currently we have no possibility to offer phone support for
our .NET Memory Profiler, but we always try respond to e-mail support
requests within one business day, and we usually answer them faster.
Best regards,
Andreas Suurkuusk
SciTech Software AB
"Noah Coad [MVP & MCP]" <no**@coad.ne t> skrev i meddelandet
news:eO******** ******@TK2MSFTN GP09.phx.gbl... Your product does look like a good product, it was probobly a quirk. I tried e-mailing but didn't get a response back and was distrought there wasn't a way to contact the company directly via telephone support.
My system is back fine after running the Memory Profiler again, loading the same application, and closing the Memory Profiler again.
It just took so long to do this because of the system load that I had to
use another computer for e-mail and newsgroups. Memory Profiler looks so good (nice components) that I e-mailed asking what components you use for the multicolumn list box (I'd still like to know).
-Noah
P.S. For possible debugging purposes, here is the sequence of events:
1. Loaded Memory Profiler 2. "Used Profile Application" and selected a very simple .NET app that
I've used for over a year 3. Ran the Process 4. Took a look at some values in M.P. 5. Clicked the 'Stop' button which brought up a dialog asking me if I
wanted to end the process. 6. Manually closed the application running 7. M.P. detected the program closed and asked if I wanted to save the profile infomation (in a dialog on top of the click to stop dialog). I clicked 'No' 8. Then I clicked the 'Cancel' button on the dialog from step 5. 9. System Load Goes to 90% 10. Closed Memory Profiler
It stopped the heavy system load after repeating steps 1 through 5, but
this time allowing M.P. to close the application. The reason this took so long was that my system was going so slow at this point it took awhile to do this. The warning message was brisk, my first to ever post such a
message, but it was a scare without barely being able to even use the computer to take M.P out or try to fix it and not being able to get in touch with the company. "Andreas Suurkuusk" <an*****@online scitech.se> wrote in message news:uQ******** ******@TK2MSFTN GP10.phx.gbl... Hi,
It seems unlikely that our software could cause your system to have 90% utilization. When installing, we do not add anything that will run on startup, we just copy files to "C:\Program
files\SciTech\N etMemProfiler", register a callback dll for profiling and add the icon.
When profiling a standard process this callback dll is only activated
when starting the process (using environment variables). For a service or ASP.NET profiling, it alters a set of registry variables to activate the
callback dll.These changes will be restored as soon as the process has been attached to the profiler, or when it fails to attach. Additionaly, the profiler saves all the changes it has done to the registry, so that they can be
restored in the event of the profiler crashing while attaching. If you have tried to profile ASP.NET or a service, you can try to start the profiler again.
In case something was left in the registry it will try to restore it at startup.
Have your tried to uninstall the profiler? Does the high CPU utilization go away if you do?
Our profiler has been downloaded by thousands of developers during the past year and none has reported anything similar to your problem. I think
that we should have been given the oppurtunity to solve this problem without you posting a WARNING message on the newsgroup.
Best regards,
Andreas Suurkuusk SciTech Software AB
"Noah Coad [MVP & MCP]" <no**@coad.ne t> skrev i meddelandet news:es******** ******@tk2msftn gp13.phx.gbl... WARNING!
I just downloaded, installed, and ran this Memory Profiler and now my system is under a constant unknown 90% utlization. It is running extremely slow for no apparent reason (no tasks show the utiliztion under Task
Manager other than "System"). Even after a reboot the system is running at
80% to 90%!
I can barely use my computer and I have a huge contract due this week! This is very frustrating... Any recommendations ?
-Noah Coad Microsoft MVP & MCP
"Rob Tillie" <Ro********@stu dent.tul.edu> wrote in message news:Os******** ******@TK2MSFTN GP10.phx.gbl... > You can do this with a profiler: > http://www.scitech.se/memprofiler/ > > Greetz, > -- Rob. > > Gustavo Franco wrote: > > Hi, > > > > > > > > I did a medium complex application in C#, and in some areas the > > memory goes up to 60Mb, when I finish I dispose everything and > > setting everything to null and calling GC.Collect, but the memory > > never goes below 45MB and I'm pretty sure I'm not allocating that > > huge amount of memory. > > > > > > > > Now the question is, are there some kind of tool that allow to me
to > > see what objects are inside of Garbage Collector?. How do I know
if I > > freed the resources properly?. > > > > > > > > If my application looks like is taking 64Mb of ram al the time the > > users are not going to install it. > > > > > > > > I need any kind of tool to see the content of the GC. > > > > > > > > Supposed I have a bug and the application is taking memory and
never > > is released how do I supposed to know what is happening if the GC > > hide this information? > > > > > > > > Any Help? > > > > > > > > Thanks. > >
The runtime has a number of performance counters. If you run "perfmon",
you'll see them. Try ".NET CLR Memory" as the category, and choose something
like "Bytes in all heaps". If you're use taskman to look at memory, it
doesn't necessarily report how much memory you're really using.
--
Eric Gunnerson
Visit the C# product team at http://www.csharp.net
Eric's blog is at http://blogs.gotdotnet.com/ericgu/
This posting is provided "AS IS" with no warranties, and confers no rights.
"Gustavo Franco" <gu************ @hotmail.com> wrote in message
news:Ox******** ******@tk2msftn gp13.phx.gbl... Hi, I did a medium complex application in C#, and in some areas the memory
goes up to 60Mb, when I finish I dispose everything and setting everything to null and calling GC.Collect, but the memory never goes below 45MB and I'm pretty sure I'm not allocating that huge amount of memory. Now the question is, are there some kind of tool that allow to me to see what objects are inside of Garbage Collector?. How do I know if I freed
the resources properly?. If my application looks like is taking 64Mb of ram al the time the users
are not going to install it. I need any kind of tool to see the content of the GC. Supposed I have a bug and the application is taking memory and never is released how do I supposed to know what is happening if the GC hide this information? Any Help? Thanks.
This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
by: Bob |
last post by:
Are there any known applications out there used to test the performance of the .NET garbage collector over a long period of time? Basically I need an application that creates objects, uses them, and then throws them away and then monitors the garbage collection and store statistics on it, preferably in C#. I want to know what is the longest period of time that an application may lock up while garbage collection is processing. Thanks!
|
by: pachanga |
last post by:
The Hans-Boehm garbage collector can be successfully used with C and
C++, but not yet a standard for C++.. Is there talks about Garbage
Collector to become in the C++ standard?
|
by: Mingnan G. |
last post by:
Hello everyone.
I have written a garbage collector for standard C++ application. It has
following main features.
1) Deterministic Finalization
Providing deterministic finalization, the system can manage resources
as well as objects. The programming style is clear and easy, conforming
to RAII (Resource Acquisition Is Initialization) idiom of C++
programmers. The memory usage is very efficient, acyclic garbage is
|
by: Goalie_Ca |
last post by:
I have been reading (or at least googling) about the potential addition
of optional garbage collection to C++0x. There are numerous myths and
whatnot with very little detailed information.
Will this work be library based or language based and will it be based
on that of managed C++? Then of course there are the finer technical
questions raised (especially due to pointer abuse). Is a GC for C++
just a pipe dream or is there a lot of work...
|
by: jacob navia |
last post by:
Abstract
--------
Garbage collection is a method of managing memory by using a "collector"
library. Periodically, or triggered by an allocation request, the
collector looks for unused memory chunks and recycles them.
This memory allocation strategy has been adapted to C (and C++) by the
library written by Hans J Boehm and Alan J Demers.
Why a Garbage Collector?
-----------------------
| |
by: Paul.Lee.1971 |
last post by:
Hi everyone,
A program that I'm helping to code seems to slow down drastically
during initialisation, and looking at the profiling graph, it seems to
be the garbage collector thats slowing things down. I must point out
that a heck of a lot of data are being read in and manipulated, and I
was wondering if there were any metrics to show much of a performance
hit is occurring during the initialisation? If it turns out that the
GC is having a...
|
by: 7stud |
last post by:
gc.garbage returns an empty list even though the command:
gc.set_debug(gc.DEBUG_LEAK)
produces the following output:
gc: uncollectable <Dog 0x56e10>
gc: uncollectable <Cat 0x56e30>
gc: uncollectable <dict 0x58270>
gc: uncollectable <dict 0x43e40>
|
by: Johnny E. Jensen |
last post by:
Hellow
I'am not sure what to think about the Garbage Collector.
I have a Class OutlookObject, It have two private variables.
Private Microsoft.Office.Interop.Outlook.Application _Application = null;
Private Microsoft.Office.Interop.Outlook.NameSpace _Namespace = null;
The Constructor:
public OutlookObject()
|
by: Carlo Milanesi |
last post by:
Hello,
traditionally, in C++, dynamically allocated memory has been
managed explicitly by calling "delete" in the application code.
Now, in addition to the standard library strings, containers, and
auto_ptrs, gurus suggest that may be better to use a reference-counted
smart pointer, or a garbage-collector.
But in which cases it is better to use one technique and in which cases
another? IOW, which is the design criterion?
|
by: marktang |
last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look !
Part I. Meaning of...
|
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it.
First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
| |
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth.
The Art of Business Website Design
Your website is...
|
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM).
In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules.
He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms.
Adolph will...
|
by: conductexam |
last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one.
At the time of converting from word file to html my equations which are in the word document file was convert into image.
Globals.ThisAddIn.Application.ActiveDocument.Select();...
|
by: TSSRALBI |
last post by:
Hello
I'm a network technician in training and I need your help.
I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs.
The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols.
I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
|
by: adsilva |
last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
|
by: 6302768590 |
last post by:
Hai team
i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
| |
by: bsmnconsultancy |
last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...
| |