Tag Info

Hot answers tagged

32

On Linux, top actually supports focusing on a single process, although it naturally doesn't have a history graph: top -p PID This is also available on Mac OS X with a different syntax: top -pid PID


31

hi is the time spent processing hardware interrupts. Hardware interrupts are generated by hardware devices (network cards, keyboard controller, external timer, hardware senors, ...) when they need to signal something to the CPU (data has arrived for example). Since these can happen very frequently, and since they essentially block the current CPU while they ...


23

By default, htop lists each thread of a process separately, while ps doesn't. Turn off the display of threads: in the “Setup / Display options” menu, “Hide userlands threads”. This puts the following line in your ~/.htoprc (you can alternatively put it there manually): hide_userland_threads=1 (Also hide_kernel_threads=1, but it's 1 by default.)


21

From inside top you can try the following: Press SHIFT+f Press the Letter corresponding to %MEM Press ENTER You might also try: $ ps -eo pmem,pcpu,vsize,pid,cmd | sort -k 1 -nr | head -5 This will give the top 5 processes by memory usage.


17

man ps in NOTES section. CPU usage is currently expressed as the percentage of time spent running during the entire lifetime of a process. This is not ideal, and it does not conform to the standards that ps otherwise conforms to. CPU usage is unlikely to add up to exactly 100%. And, guess you know, but you can also do: top -p <PID> ...


16

You can also use htop. It's much cooler than top. If you are using Debian or one of its derivatives, then you can install it using sudo apt-get install htop.


15

htop is a great replacement to top. It has... Colors! Simple keyboard shortcuts! Scroll the list using the arrow keys! Kill a process without leaving and without taking note of the PID! Mark multiple processes and kill them all! Among all of the features, the manpage says you can press F to follow a process. Really, you should try htop. I never started top ...


13

There is a command-line option which does that: -M : Detect memory units Show memory units (k/M/G) and display floating point values in the memory summary. So it is sufficient to run top like that: top -M


13

top -M doesn't work on any of the Fedora, Debian or Ubuntu distros to my knowledge. I just tried it and it's not in the procps-ng package that provides top. There are many implementations of top so one needs to pay special attention to which they use. In general it's best to use free with switching to get the amount of memory free on Linux. procps vs. ...


12

You are in a multi-core/multi-CPU environment and "top" is working in Irix mode. That means that your process (vlc) is performing a computation that keeps 1.2 CPUs/cores busy. That could mean 100%+20%, 60%+60%, etc. Press 'I' to switch to Solaris mode. You get the same value divided by the number of cores/CPUs.


12

top is a full screen interactive console application. It requires a tty to run. Try ssh -t or ssh -tt to force pseudo-tty allocation.


12

F1 or h will show you the legend. It looks like in this color scheme: CPU: blue is for low priority threads green is normal priority threads black is for io-wait see below for more. Memory: green is memory in use blue is buffer orange is cache


11

An alternative to sed for simple things like this is tr: top -p $(pidof program | tr ' ' ',') tr can also easily handle a variable number of spaces: tr -s ' ' ',' Additionally, if you have it available, pgrep can work well here: top -p $(pgrep -d , program) Make sure that you leave a space between -d and , as the comma is the argument (the ...


10

I use this script (from this thread on the Arch boards): #!/bin/bash read cpu a b c previdle rest < /proc/stat prevtotal=$((a+b+c+previdle)) sleep 0.5 read cpu a b c idle rest < /proc/stat total=$((a+b+c+idle)) CPU=$((100*( (total-prevtotal) - (idle-previdle) ) / (total-prevtotal) ))


9

It doesn't seem to be possible in an easy way. From top's perspective, any command a user runs using sudo would appear to be running as root because it really is running as root. One way you could try, is to track it down to the terminal where the user is logged in, then see processes running as root on that terminal. For example, $ w user USER TTY ...


8

The top command reads the data from proc, which is provided directly from the kernel. In order to hide processes, you'd have to use code inside the kernel to do the masking. Aside from using a security framework like SELinux and grsecurity (mentioned in the other answers), rootkit-style code is your only remaining option. I say "style" because a "rootkit" ...


8

A process in S state is usually in a blocking system call, such as reading or writing to a file or the network, or waiting for another called program to finish. You can use strace -p pid to find out which system call is currently happening, it'll produce output like write(1, "foobar"..., 4096 which means that the process is trying to write 4096 bytes ...


8

You're question is well defined, but you're not giving a lot of information about your environment, how you're currently monitoring or what graphing tools you're using. However, given that SNMP is used pretty much universally for that I'll assume that you're using it and have at least some familiarity with it. Although (as near as I can tell) the CPU Steal ...


7

If you have it installed I like htop once launching it you can press f6, down arrow (to MEM%), enter to sort by memory.


7

There are plenty of monitoring CLI commands with Solaris. They are easy to find as almost all share the stat suffix: vmstat mpstat iostat netstat lockstat nfsstat prstat busstat cpustat kstat sar swap kstat (or the equivalent netstat -k) provides all of the kernel statistics in raw form. About the IOWAIT statistic, note that the fact it was often poorly ...


7

minutes:seconds.hundredths Searching for “TIME+” or for “seconds” gives the answer, kind of (I wouldn't call the man page clear). This format is inherited from BSD, you also get it with ps u or ps l under Linux.


6

Linux kernel since 3.3 contains support for hiding processes to other users. It is done by hidepid= and gid= mount options for /proc as described in the corresponding commit and Documentation/filesystems/proc.txt. Debian Wheezy, which will become the next Debian stable release, also includes this feature.


6

Most top implementations have a way to turn the display of threads on or off. htop: in the “Setup / Display options” menu, “Hide userlands threads”. Linux top: press H to toggle the showing of threads (but they're off by default). OpenBSD top: press T to toggle the showing of threads (but they're off by default). Note that memory mappings, and hence ...


6

sed replaces your with ,: top -p $(pidof program | sed 's/ /, /g')


6

From the top manpage: -n : Number of iterations limit as: -n number Specifies the maximum number of iterations, or frames, top should produce before ending. So just run: top -n 1


6

Check out sar, as well. Implementations can vary widely from nix to nix, but it should give you basic system stats, at given snapshots. I'm not sure how accurate the values are at the point at which the command is first initialized, but you might play around to see how it compares to top, iostat, etc. The output is column-based, like top, so you should be ...


6

top -b seems to be doing the trick.


6

No problem in that. Linux is borrowing the RAM for caching. This is desirable (RAM is faster than disk) and absolutely normal behaviour. From that link: Why does top and free say all my ram is used if it isn't? This is just a misunderstanding of terms. Both you and Linux agree that memory taken by applications is "used", while memory that isn't ...


6

top is mostly used interactively (try reading man page or pressing "h" while top is running) and ps is designed for non-interactive use (scripts, extracting some information with shell pipelines etc.)


6

Your mysqld is configured to use 1,8 GB of RAM - propably due to your settings in /etc/my.cnf. This is much more than is physically available. Now in some point of time (you might install sysstat and ask sar about that) you seem to get memory requests (might be PHP, too) that use more RAM than is available - so the systems starts to swap. At the end of ...



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