lpt0 printer slows system response significantly
perryh at pluto.rain.com
perryh at pluto.rain.com
Wed Nov 1 09:23:52 UTC 2006
> PID USERNAME THR PRI NICE SIZE RES STATE TIME WCPU COMMAND
> 18 root 1 -60 -179 0K 8K *Giant 15:09 77.05% irq7: lpt0
> 11 root 1 171 52 0K 8K RUN 48.0H 11.13% idle
The interrupt service for the parallel port is using over 3/4 of
the CPU, and half of the rest is "idle".
I take it this is a laser printer, which can consume bytes from the
parallel port as fast as the processor can send them. Top-of-head
dump of ways to cut down on the interrupt traffic:
* Get a DMA-capable parallel port (supposing such exist, and FreeBSD
supports them);
* Move the printer to a network connection or dedicated print server;
* Somehow tell the printer not to receive so quickly.
Alternatively, one possible way to handle that sort of interrupt
load without bogging down is to get a second CPU and run SMP, so
you've still got a CPU available for tasks when one is swamped
with interrupt traffic.
The other thing that *might* help some is more RAM, if it happens
that the idle time is caused by page wait due to the set of active
threads needing more RAM than you have, but this will at best get
your tasks up from 1/9 of the CPU to 2/9.
More information about the freebsd-questions
mailing list