Frequently Asked Questions about procps
Why does "ps -aux" complain about a bogus '-'?
According to the POSIX and UNIX standards,
the above command asks to display all processes with a TTY
(generally the commands users are running) plus all processes
owned by a user named "x". If that user doesn't
exist, then ps will assume you really meant "ps aux".
The warning is given to gently break you of a habit that will
cause you trouble if a user named "x" were created.
Why don't I see SMP (per-CPU) stats in top?
You didn't enable it. Press '?' for built-in
help or read the man page. Per-CPU stats are disabled by default
because they take up too much space. Some Linux systems have
hundreds of CPUs.
Why do long usernames get printed as numbers?
The UNIX and POSIX standards require that user names
and group names be printed as decimal integers when there is not
enough room in the column. Truncating the names, besides being a
violation of the standard, would lead to confusion between names
like MichelleRichards and MichelleRichardson. The UNIX and POSIX
way to change column width is to rename the column:
ps -o pid,user=CumbersomeUserNames -o comm
The easy way is to directly specify the desired width:
ps -o pid,user:19,comm
Why is %CPU underreported for multi-threaded (Java, etc.) apps?
You need to upgrade to the 2.6.10 kernel at least.
Older kernels do not provide a reasonable
way to get this information.
Why do ps and top show threads individually?
The 2.4.xx kernel does not provide proper support
for grouping threads by process. Hacks exist to group them anyway,
but such hacks will falsely group similar tasks and will fail
to group tasks due to race conditions. The hacks are also slow.
As none of this is acceptable in a critical system tool, task
grouping is not currently available for the 2.4.xx kernel. The
2.6.xx kernel allows for proper thread grouping and reporting.
To take advantage of this, your programs must use a threading
library that features the CLONE_THREAD flag. The NPTL pthreads
provided by recent glibc releases use CLONE_THREAD.
What systems are supported?
Linux 2.4.xx and 2.6.xx are commonly
tested and expected to work well. SMP is well supported.
Multi-node cluster views require a multi-node /proc filesystem;
without that you will see a single-node view.
Where to I send bug reports?
You may use the Debian bug tracking system or
send your report to firstname.lastname@example.org (no subscription
Why are there so many procps projects?
The original maintainer seems to have had little time for procps.
Whatever his reasons, the project didn't get maintained. Starting
in 1997, Albert Cahalan wrote a new ps program for the package.
For the next few years, Albert quietly helped the Debian package
maintainer fix bugs. In 2001, Rik van Riel decided to do something
about what appeared to be the lack of a maintainer. He picked up
the buggy old code in Red Hat's CVS and started adding patches.
Meanwhile, other people have patched procps in a great many ways.
In 2002, Albert moved procps to this site. This was done to
ensure that years of testing and bug fixes would not be lost.
The major version number was changed to 3, partly to avoid confusing
users and partly because the top program has been redone.
Why does ps get signal 17?
No ps release has ever had this problem.
Most likely your system has been broken into. You might
want to install a more recent version of the OS. If you'd
rather take your chances, simply upgrade procps.