The K Desktop Environment

Chapter 6. Questions and Answers

6.1. Why does kpm sometimes seg fault for no apparent reason?
6.2. Why does kpm use so many CPU cycles?
6.3. Why does the %CPU appear to be incorrect?
6.4. Why is the WCHAN field incorrect?
6.5. Why don't cloned PIDs appear in kpm?

6.1. Why does kpm sometimes seg fault for no apparent reason?

kpm sometimes dies with a segmentation fault if more than one process is marked and the list is updated. It is unclear why this happens.

6.2. Why does kpm use so many CPU cycles?

kpm can consume a lot of CPU resources if the update period is too small. On the developer's system (AMD K6PR200) it uses approximatly 5 percent CPU time with an update period of one second. This depends heavily on the total number of processes (not just those displayed) and can be much higher than this under the right circumstances.

6.3. Why does the %CPU appear to be incorrect?

The %CPU number isn't accurate at very short update periods due to timer granularity.

6.4. Why is the WCHAN field incorrect?

The WCHAN field isn't correct if a process sleeps in a location outside those listed in System.map (for instance, in a kernel module). In these cases, the last entry in System.map will be shown (something like _end).

6.5. Why don't cloned PIDs appear in kpm?

kpm doesn't handle more than one process with the same PID. Multiple PIDs can occur when using CLONE_PID with the clone() system call.