Hi I have asked about this directive(JkShmFile) before but on the apache-http list. I am still not 100% clear as to the exact usage of this directive. This page is very vague about usage: http://tomcat.apache.org/connectors-doc/reference/apache.html After a lot of googling and searching through my mail archives I found the following snippets of information: <start of snippets> Concerning mod_jk there is no hard upper limit. If the number of workers (counting all lb workers and all members of lb workers comes close to 64, you will need to increase the JkShmSize.) No dependency on the tomcat or AJP version. I didn't think about old JK versions though. 1.2.23 doesn't count as old. > I am not intending to use shared memory or load balancing or anything > like that. Therefore, I have no such configuration in my > jk_workers.properties file. Could this be the reason why there appear > to be no "maps" when trying to match JkMounts? Are the workers being > configured and then discarded because there's no place to put them in > memory? That would suck, but at least make sense. Should not be related. Nevertheless even without load balancing, using a single member load balancer and shared memory can be interesting because of the advanced managment and information features provided by the stu worker (that uses the shared memory to comunicate with the lb).
The reason why it ended up in /var/log/httpd/jk.shm is because the JkShmFile "logs/jk.shm" directive in the httpd.conf translates to $ServerRoot/logs/jk.shm where $ServerRoot in this case is /etc/httpd. /etc/httpd/logs is a symlink to /var/log/httpd. It is used as a scoreboard with run time data for workers so the load balancer works more accurately. More logical placement for /var/run/mod_jk This file is used for shared memory, lock, ...of mod_jk threads. if you don't declare it in your mod_jk config file, mod_jk will create a default one in your http log directory. </end of snippets> My questions ~~~~~~~~~~~~ Is this shared memory used by different child apache processes on the same machine or is it a bit more involved than that. If the answer to the above question is yes, do you really need this in the config. What value does it add to have this directive available, except for the fact that you can specify the location... I would also kind of expect the JkShmSize directive to be automatic instead of having to specify it. If it needs to be bigger than the default 64Kb it should grow on its own accord. Regards ______________________________________________________________________ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email ______________________________________________________________________