Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 11 years ago.
Improve this question
What is the Windows Task Manager "Handles" column a measure of? File Handles? Or Page File Pointers? Also is it bad for one program to have 8000 handles?
It's a measure of kernel handles. Kernel handles types and the functions that create them include:
File handles (CreateFile)
Memory mapped files (CreateFileMapping)
Events (CreateEvent)
Mutexes (CreateMutex)
Semaphores (CreateSemaphore)
Processes (CreateProcess)
Threads (CreateThread)
And more than I forget or have never heard of.
8000 for a single process seems incredibly excessive.
8000 for a single process does seem rather a lot, but not necessarily out of the question - it depends on the behaviour. You should think of handles as a special kind of memory - high usage is a possible warning sign, but not if it is stable. If the handle usage is stable, then it is not a sign of a leak, although you might have some optimisation to perform to get it to use fewer handles.
Related
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 2 years ago.
Improve this question
I need to get the Processes consuming CPU the most and over what time. Is this possible using any counter or script?
This at least gets you the info on who's using up the CPU. As to when, well that's another question entiresly.
I think you should configure a data collector set in Performance Monitor (PerfMon). You can collect the counter "\Process(*)% Processor Time". You can roll over the collector files for analysis later and hence see process performance over time.
When you look at the files later the graphs should make it easier to find the process that's consuming more CPU. I can't bang out a full tutorial at the moment, but a simple google search should turn up plenty of instructional info.
I will say the biggest challenge is configuring the schedule just right to make sure you capturing all the data you need. If that starts getting confusing there's a folder buried in Task Manager called PLA. That's for Performance Logs & Alerts. You should find a job there that correlates to your collector. It may be easier to work on the schedule there...
Thanks.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
How LRU can be implemented in MIPS? The procedures that are used take in a lot of initialisations and the requirement of registers is quite high when trying to implement LRU with other functions like sort and other programs that use more variables. How can this issue be addressed?
Very few VM implementations actually use LRU, because of the cost. Instead they tend to use NRU (Not Recently Used) as an approximation. Associate each mapped in page with a bit which is set when that page is used (read from or written to). Have a process that regularly works round the pages in a cyclical order clearing this bit. When you want to evict a page, chose one that does not have this bit set, and so has not been used since the last time the cyclical process got round to it. If you don't even have a hardware-supported "not recently used" bit emulate it by having the cyclical process (this is sometimes known as the clock algorithm) clear the valid bit of the page table and have the interrupt handler for accessing an invalid page set a bit to say the page was referenced before setting the page as valid and restarting the instruction that trapped.
See e.g. http://homes.cs.washington.edu/~tom/Slides/caching2.pptx especially slide 19
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
Do any computer languages not use a stack data structure to keep track of execution progress?
Or is the use of this data structure an emergent requirement stemming from something inherent to most computer languages or turing machines?
With a traditional "C-style" stack, certain language features are difficult or impossible to implement. For example, closures can't easily be implemented with a traditional stack because closures require a pointer to an old activation record to work correctly and that memory is automatically reclaimed in a C-style stack. As another example, generators and coroutines need their own memory to store local variables and relative offset information and therefore can't easily be implemented if you use a standard stack implementation.
Hope this helps!
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 10 months ago.
Improve this question
If a website is experiencing performance issues all of a sudden, what can be the reasons behind it?
According to me database can one reason or space on server can be one of few reasons, I would like to know more about it.
There can be n number of reasons and n depends on your specification
According to what you have specified you can have a look at,
System counters of webserver/appserver like cpu, memory, paging, io, disk
What changes you did to application if any, were those changes performance costly i.e. have a round of analysis on those changes to check whether any improvement is required.
If system counters are choking then check which one is bottleneck and try to resolve it.
Check all layers/tiers of application i.e. app server, database, directory etc.
if database is bottleneck then identify costly queries and apply indexes & other DB tuning
If app server is choking then, you need to identify & improve the method which is resource heavy.
Performance tuning is not a fast track process, it takes time, identify bottlenecks and try to solve it and repeat the process until you get desired performance.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
I am working on a machine with 4 sockets with another person that launch performance tests on one precise socket and does not want anybody to iterfer with this socket.
I would like to work transparently on the 3 remaining sockets. How could could I do that, something like prefixing all my commands with numactl... ??
My shell is zsh
Thanks!
I'm assuming this is Linux?
If yes, cpusets are probably what you're looking for. There is also a cpuset userspace package that supposedly makes it easier to use the cpusets mechanism in the kernel.
While I have almost no experience with this, I think you should be able to create a cgroup, move your shell to it, and restrict the cgroup to use only the other CPUs. This restriction would be inherited by all processes started from that shell.