Hot answers tagged

52

On a CPU utilization graph or report, the "nice" CPU percentage is the % of CPU time occupied by user level processes with a positive nice value (lower scheduling priority -- see man nice for details). Basically it's CPU time that's currently "in use", but if a normal (nice value 0) or high-priority (negative nice value) process comes along those programs ...


28

Edit: Updating on Oct. 1 2013 - Some of my original answer has since become obsolete. I'm not sure if you're still active on this site or that you'll see this, but I wanted you to know that I read this question today and it fascinated me, and so I spent all day (when I should have been working) researching Hyper-V and Windows internals and even digging in ...


27

CPU time is allocated in discrete time slices (ticks). For a certain number of time slices, the cpu is busy, other times it is not (which is represented by the idle process). In the picture below the CPU is busy for 6 of the 10 CPU slices. 6/10 = .60 = 60% of busy time (and there would therefore be 40% idle time). A percentage is defined as "a number or ...


23

Show the "CPU Time" column on the "Details" tab in "Task Manager" and look for a process with a CPU time count that's steadily increasing. That's your wedged process. It should be using around 4.17% CPU constantly.


23

Generally, I'm opposed to the idea that a Windows server should be rebooted on a regular schedule EXCEPT in relation to TS/RDS servers. We reboot ours every day. It clears up old sessions, releases in use resources (CPU, RAM, file handles, etc.), so my opinion and suggestion would be that you do configure a daily scheduled reboot of your RDS servers. Note ...


22

TL;DR: EventLog file was full. Overwriting entries is expensive and/or not implemented very well in Windows Server 2008. At @pk. and @joeqwerty suggestion and after asking around, I decided that it seemed most likely that a forgotten monitoring implementation was scraping the event logs. I installed Microsoft's Network Monitor on one of the Domain ...


19

There are a couple of possible ways you can do this. Note that its entirely possible its many processes in a runaway scenario causing this, not just one. The first way is to setup pidstat to run in the background and produce data. pidstat -u 600 >/var/log/pidstats.log & disown $! This will give you a quite detailed outlook of the running of the ...


17

Users refuse to log off instead of disconnect Setup the appropriate group policies to auto-logoff them. You can separately control an idle timeout and logoff. That should certainly minimize some of the issue during the day. I restart my 3 server TS farm daily at 3:00am. Because, yes crap can build up over time when you have lots of people using a ...


15

Try monit. You could use a configuration like this, to accomplish your task: check process gameserver with pidfile /var/run/gameserver.pid start program = "/etc/init.d/gameserver start" with timeout 60 seconds stop program = "/etc/init.d/gameserver stop" if cpu > 80% for 2 cycles then alert if cpu > 95% for 5 cycles then restart if ...


14

It is the CPU scheduling priority, higher vales (+19) mean lower priority, and lower values (-20) mean higher priority (inverse relationship). man 2 getpriority will give you lots of details. You can set the nice value when launching a process with the nice command and then change it with the renice command. Only the superuser (root) can specify a priority ...


14

There are two counters with the same name: Process\% Processor Time: The sum of processor time on each processor Processor(_Total)\% Processor Time: The total for all processors Your question indicates you're using the first counter, which means that its maximum value is 100% * (no of CPUs). So if you have 4 CPUs, then the total maximum is 400%, and 80% ...


14

Load is a very deceptive number. Take it with a grain of salt. If you spawn many tasks in very quick succession which complete very quickly, the number of processes in the run queue is too small to register the load for them (the kernel counts load once every five seconds). Consider this example, on my host which has 8 logical cores, this python script ...


13

On Linux at least, the load average and CPU utilization are actually two different things. Load average is a measurement of how many tasks are waiting in a kernel run queue (not just CPU time but also disk activity) over a period of time. CPU utilization is a measure of how busy the CPU is right now. The most load that a single CPU thread pegged at 100% for ...


12

The Steal percentage (documented in the mpstat man-page) is indeed the hypervisor telling your VM that it can't have CPU resources the VM would otherwise use. This percentage is regulated in part by Amazon's CPU limiting, and VM load on that specific host. I/O load is monitored through the %io stat.


11

CPU utilization is measured relative to a single CPU. The maximum is 100% for each CPU, so a four-CPU system would have a maximum CPU utilization of 400%.


11

How many cores do you have on this server? 106% means it's occupying a full core plus a little of another. So, if you have say, 4 cores, a process that is multi-threaded (so it can handle pushing load to all cores) could reach 400%. top will confirm this behavior.


11

You are on the right track, top uses this file for this purpose. But you need to read it more than once. Utilization is a is a measure of use over time. You can read it once providing you know the uptime in seconds of the host, then divide by that, but that would give you a utility rate of the host since the machine was booted. If you want a rate over 5 ...


10

First, you have to remember that in Hyper-V that the "host" is called a parent partition and it really just like a virtualized guest with special permissions and roles. Just like any other child/guest, when you open up Task Manager, you can not see the CPU usage of the other children on the server. Ben Armstrong has a good explanation of this here: http://...


10

It seems to be all Kernel time, could be Interrupts, they might only get handled by a single CPU.


10

As others have already pointed out, we can see from that screenshot that the CPU that's working so hard is spending all its time in kernel mode. (The red color.) Running Powershell as administrator, type: Get-Process | Select Name, PrivilegedProcessorTime | ` Sort-Object PrivilegedProcessorTime -Descending The process at the top of the list is the ...


10

The CPU time is the time that the process is using the CPU - converting it to a percentage is done by dividing by the amount of real time that's passed. So, if I have a process that uses 1 second of CPU time over a period of 2 seconds, it's using 50% of a CPU. In the case of your MATLAB process, 217% indicates that it's used 2.17 seconds of CPU time per ...


9

I think that's because you have no lo device. Add the following in /etc/network/interfaces auto lo iface lo inet loopback then do ifup lo


9

Atop is a particularly handy daemon for looking at drill-downs to the process level and by default archives this data for 28 days. Besides presenting an awesome real-time monitoring interface, you can specify those log files to open and step through them. The article gives some idea of the capabilities, and you can find more in the manpage. It's truly a ...


9

Not considerable enough to make an impact. The adjustments are more for licensing. For example, Windows Server is licensed per processor slot, so you'd pay more to have 1 core and 4 CPUs than to have 1 CPU and 4 cores. Same goes with other products whose costs quickly rise with more processors (looking at you, Oracle).


8

Windows Server 2008 will run TrustedInstaller.exe shortly after rebooting after installing the monthly Windows Updates. The program will take up ~75-100% of a CPU core for up to 30 minutes or more, as it is running the malicious software removal scanning code. While this is running on a single-core machine, certain programs or services will not work ...


8

beware that, in the case of EC2, top is not a reliable tool to measure CPU usage. See more info at http://www.axibase.com/cloud/2010/07/22/ec2-monitoring-the-case-of-stolen-cpu/


8

mscorsvw is a process that pre-compiles .NET binaries. Your updates may have triggered this activity. At least, that's what http://blogs.msdn.com/b/davidnotario/archive/2005/04/27/412838.aspx says is happening. You might get more clue what exactly is happening if you can run the sysinternals procmon utility. That will tell you what file(s) mscorsvw is ...


8

Have you looked at the Cisco troubleshooting guide for high cpu ? It has an extensive guide on what to do when encountering high CPU loads. Included are : Determining Causes and Solving the Problem : High CPU Utilization due to Interrupts High CPU when Enabling Netflow NDE on Cisco 7600 Series Router High CPU Utilization due to Processes PCI and FAST ...


8

CPUs (or individual cores) can be put into "deep" C-states by an OS kernel. You're thinking that the processor "puts itself to sleep" when it "detects" inactivity. This isn't how it works. The OS scheduler determines system idle percentage based on the amount of time spent in the system idle loop to detect system inactivity. The CPU itself (in x86 land, at ...


8

/usr/bin/php is the PHP binary (php "parser", the "thing" that runs your php code), which is running a script: /home/hellohel/public_html/index.php. I would check that script, to see what's causing it to use up that much resources.



Only top voted, non community-wiki answers of a minimum length are eligible