The final service packs for NetWare 5.1 and 6.0 changed the memory allocation routines so that it requires memory activity by NLMs to move memory from the VM Pool to the File Cache Pool. On many servers there is not enough NLM memory activity to move memory - this leads to large amounts of memory sitting idle in the VM pool, and relatively little in the File Cache Pool.
FixCache gets around this by requesting virtually all the available memory from the server, then giving it back to the system. As the memory is returned, much of it will be placed in the File Cache Pool rather than back in the VM pool.
Copy the file to sys:system, then run from the console. You can either let it auto calaculate the amount to allocate by loading it with no parameters, or specify how much memory you want it to take as a number of MB on the command line: eg
Auto calc: load fixcache
Alloc 1GB : Load fixcache 1024
You can run it out of autoexec.ncf, but I'd suggest using a delaycmd to allow the system to stabalize before running it. eg: add -
delaycmd 120 fixcache