I would suggest that you ought to further refine your /proc interface, so that the requesting programs can be more specific as to what they are asking for, or can ask for a subset of it (in the flavor of MySQL's LIMIT verb). Don't give the requesting program indigestion ... and don't consume an unnecessary amount of kernel memory preparing the response to any given request.
For example, if I want to "find out about all the processes in the system," one request gives me a set of PIDs. Then, by looping through that list, my program can individually request information about each PID and in so doing build up the complete set of information that it requires. But at no point did the kernel have to prepare (nor did the program have to deal with) a huge amount of data.
Last edited by sundialsvcs; 08-22-2013 at 11:49 AM.