The version of the deployed EPICS base is 3.15.9. Does it support checking the queue size through some command in the IOC shell? And How?
According to the Release Notes (hint hint), the mechanism was first published in Base 3.16.2, so it is available in any release of the EPICS 7 series.
I would test drive that IOC with a current EPICS 7 release.
First, you will be able to see that everything on the IOC is pretty much the same as under 3.15 and still works fine, so you have a good argument for migrating your IOCs to EPICS 7.
Then, let it run and use the iocShell commands to monitor the usage of the queues. (Again from the release notes: The new iocsh commands are callbackQueueShow
and scanOnceQueueShow
; both take an optional integer argument which must be non-zero to reset the high-water mark.)
The numbers you determine (with a safety margin of at least 1-2k) will obviously also apply to the same IOC under 3.15.
After all, having too large ring buffers means only a bit of wasted memory. Using some 10s of kB more or less will be noise on a Linux box with virtual memory.
Cheers,
~Ralph