# piperd ?



## Bellfox Ace (Mar 17, 2022)

Greetings,

i've install FreeBSD-13.0 (stable version), ZFS off course. Then, i've install apache+php+mysql, and so on. When i do* top, *i've got so many piperd in STATE column which triggered by httpd (apache). the piperd consumes many WCPU, about two or three *piperd* (from httpd triggered) each them 99-100% WCPU.

piperd, who is this guy? what is the cause of this?
Any idea howto check them all?  or what i have to do, maybe some tunning about. i appreciated. 

Thank you.


----------



## SirDice (Mar 17, 2022)

piperd isn't a process, it's a state. It means that process is waiting to read from a pipe.


----------



## schweikh (Mar 17, 2022)

piperd is the _wait channel_ of the associated process, i.e. the kernel is waiting for some condition to come true to schedule the process to run again.
In long ps(1) -l output the wait channel appears as a human readable name under the MWCHAN column. The piperd wait channel refers to a read from a pipe that is currently unsatisfied, i.e. the reader has read all data on the read end, and the writer has not yet written on the write end of the pipe. There are many more wait channels, like select, wait, ttyin etc. The gory details are in the source for ps(1).

Unless your httpd processes are actually constantly in the running state (what's the load average shown by top(1)?), what you see might be expected.


----------

