Code:
| |-litespeed(3206)---lsphp5(3347)-+-lsphp5(1413)
| | |-lsphp5(4013)
| | |-lsphp5(5920)
| | |-lsphp5(7512)
| | |-lsphp5(7518)
| | |-lsphp5(7702)
| | |-lsphp5(31868)
| | `-lsphp5(31944)
see above, there is only one parent lsphp5 process, other lsphp5 processes are child of the parent. in this case, in-memory opcode cache(APC,XCache) are shared by all lsphp5 process. as long as parent lsphp5(3347) is not killed, the in-memory opcode cache will be resident in memory and "function well".
note: killing or starting new sub lsphp5 process, will not affect in-memory opcode cache.
so your setting "Max Idle Time=-1" may help parent lsphp5 persistent in memory and hence XCache is persistent in memory too between requests.
however set "Max Idle Time=-1" no good in shared-hosting env:
"This feature allows resources used by idle applications to be freed. It is especially useful in mass hosting environment when you need to define many applications running in setuid mode for the sake of maximum security." --- tip for "Max Idle Time" in lsws admin console.
so to determine if your XCache is purged or not, you can also check if the parent lsphp5 pid has changed. if for some reason it changed(for example, kill -9 pid), xcache is purged.